No.2ベストアンサー
- 回答日時:
こんにちは。
KenKen_SP です。VBA と HTML に関する知識があれば、技術的にはそれほど難しくはないです。
Excel VBA + InternetExplorer で実現は可能ですね。
Yahoo!電話帳の検索 URL は下記の通りです。
http://phonebook.yahoo.co.jp/bin/search?p=xxx-xx …
xxx-xxx-xxxx の部分に検索対象となる電話番号を渡すだけです。番号にハイ
フンがあってもなくても構いません。
ただし、「掲載あり・なし」の判定ロジックは「不一致キーワード」があるか
ないかという極めて単純なものですから、不十分であればコードを修正して下
さい。
サンプルでは A2 セル以下に電話番号があるものとして、最終行までループし、
掲載があれば B 列に○を書き込みます。
Visual Basic Editor を起動し、以下のソースコードを標準モジュールにコ
ピー&ペーストして下さい。
'---(標準モジュール)--------------------------------------------------
Option Explicit
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private mIE As Object ' InternetExplorer
Private Const READYSTATE_COMPLETE = &H4
Private Const OLECMDID_CLOSE = &H2D
Private Const OLECMDEXECOPT_DODEFAULT = &H0
'----------------------------------------------------------------------
' [検索ベースURL]
Private Const QUERY_URL = "http://phonebook.yahoo.co.jp/bin/search?p="
' [不一致キーワード]
Private Const UNMATCH_KEYWORD = "名称との一致:0件"
' [タイムアウト]
Private Const TIMEOUT = 15000 ' (単位:ミリ秒)15000ミリ秒 --> 15秒
'----------------------------------------------------------------------
'
' // ExistPhonenum 使い方サンプルプロシージャ
Sub Yahoo電話帳検索()
' アクティブシートのA2~A列最終行までに記載された電話番号を
' Yahoo!電話帳で検索し、掲載があれば B列に○を書き込む
Dim strURL As String
Dim i As Long
' InternetExplorer を起動して参照する
Set mIE = CreateObject("InternetExplorer.Application")
' InternetExplorer 可視化
mIE.Visible = True
With ActiveSheet
For i = 2 To .Cells(65536, "A").End(xlUp).Row
With .Cells(i, "A")
' 検索結果が True なら ○ を B列に記入
If ExistPhonenum(CStr(.Value)) Then
.Offset(0, 1).Value = "○"
Else
.Offset(0, 1).Value = "×"
End If
End With
Next i
End With
' InternetExplorer を閉じる
mIE.ExecWB OLECMDID_CLOSE, OLECMDEXECOPT_DODEFAULT
' オブジェクト変数を開放
Set mIE = Nothing
End Sub
' // Yahoo!電話帳で引数 strPhoneNumber の電話番号を検索し、掲載があれ
' // ば True を返す
Private Function ExistPhonenum(ByRef strPhoneNumber As String) As Boolean
Dim lngT As Long
Dim blnFlag As Boolean
If mIE Is Nothing Then
Err.Raise 1000, , "InternetExplorer が初期化されておりません"
Exit Function
End If
blnFlag = True
With mIE
' 検索 URL の生成
.Navigate URL:=QUERY_URL & strPhoneNumber
lngT = timeGetTime() + TIMEOUT
' ページの読み込みが完了するまで待機
Do While .Busy Or .ReadyState <> READYSTATE_COMPLETE
DoEvents
' タイムアウト判定
If lngT < timeGetTime() Then
blnFlag = False
Exit Do
End If
Loop
If blnFlag Then
' 検索結果のページに不一致キーワードが「含まれない」場合は
' 電話番号掲載ありと判断し、関数の戻り値に True をセット
If InStr(mIE.Document.body.innerText, UNMATCH_KEYWORD) = 0 Then
ExistPhonenum = True
End If
End If
End With
End Function
No.1
- 回答日時:
HSPでブラウザにデータを渡すプログラムを作るか、スクリプトを実行できる
Webブラウザでスクリプトを組むか。
旧Sleipnirで作るのが楽かもしれないけど、プログラムを組んだ事がないと
同じかもしれないなぁ。
以前本屋のサイトに書籍番号を渡して本のタイトル、出版社名,著者などを
自動で登録していくプログラムがあったけど仕組みはそれと同じかな?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 消費者問題・詐欺 悪質リサイクル業者からの迷惑電話に非常に困ってます。 悪質リサイクル業者は今年6月に入ってからいろん 5 2022/06/22 19:16
- その他(ネットショッピング・通販・ECサイト) 詐欺サイトの見分け方を教えてください。 2 2022/09/14 23:41
- 会社経営 ビジネス用の電話番号。050で始まる電話番号について。 5 2022/06/10 09:42
- Visual Basic(VBA) VBA初心者です。電話番号の数字の前に0を表示させたいです。 2 2022/12/14 03:58
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/05/24 08:33
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- X(旧Twitter) Twitter(X)のアカウントの作り方 Twitterでサブ垢を作りたかったので、今まであったサブ 3 2023/08/28 08:08
- Excel(エクセル) マクロVBAのフォルダ階層別で検索の方法 4 2022/04/03 23:23
- Android(アンドロイド) Googleからのメールに対してどう操作するのか? 1 2023/01/08 19:34
- 法人税 電子帳簿保存法について 1 2022/04/07 11:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
夜の8時30分ごろ、キィ、キィ、...
-
読み方
-
福島弓子(イチローの奥さん)...
-
yahooブックマークでは、フォル...
-
Googleとヤフー、検索結果の違...
-
腹巻 紫色 通販
-
200日移動平均線
-
検索エンジンの表示タイトルを...
-
ワンウェイとはどんな意味ですか?
-
「栢菅翼」という人について教...
-
モンゴルの遊びシャガイ
-
自分で作った小物をインターネ...
-
カープの応援グッズがほしい
-
新撰組 羽織の通販サイト
-
ロザリオとバンパイアのストラップ
-
レッドリスト、レッドデータブ...
-
msnのアイコンを復活させるには
-
Nゲージ 498系あさま
-
「Yahoo.com」とは何ですか?Ya...
-
タトゥーを入れようと思ってい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Yahoo.com」とは何ですか?Ya...
-
ヤフーの検索ができない
-
yahooブックマークでは、フォル...
-
夜の8時30分ごろ、キィ、キィ、...
-
mixiのIDしか分からない人を検...
-
「あなたがアクセスしようとし...
-
nslookupでIPアドレスが表示さ...
-
【助けてください】googleの画...
-
ウェブの検索結果を自動的にエ...
-
ワンウェイとはどんな意味ですか?
-
読み方
-
くすぐり動画
-
カレン・カーペンターさんの拒...
-
XPC00271.zip のDlkeyがわからな
-
北大路欣也主演の子連れ狼
-
エクセルVBAで検索結果のリンク...
-
Mac を使ってたら変な黒いバー...
-
MSNホームからメールに入れませ...
-
まろも世にあらばこそあらめ、 ...
-
シークレットオブエヴァンゲリ...
おすすめ情報