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ランキング
-
yahooブックマークでは、フォル...
-
VF1000R整備
-
北側の検見川浜突堤は今も立ち...
-
求む! ミッキーのストラップ...
-
福井市にある絵画教室を探して...
-
「Yahoo.com」とは何ですか?Ya...
-
中学2年国語の漢語、和語教えて...
-
ドラクエIXエルギオスの倒し方
-
ハンター×ハンター 音楽
-
★★レオタード用の布を扱ってい...
-
福岡発着・年末年始の海外旅行...
-
ヤフーなど検索欄の履歴文字消...
-
まろも世にあらばこそあらめ、 ...
-
流離顛の次が「さんずい」に市...
-
年の差カップルのネット小説
-
msnのアイコンを復活させるには
-
イングランドの気候について教...
-
オススメの看護大学
-
新撰組 羽織の通販サイト
-
相撲の星取表をすばやく作る
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「Yahoo.com」とは何ですか?Ya...
-
夜の8時30分ごろ、キィ、キィ、...
-
ヤフーの検索ができない
-
yahooブックマークでは、フォル...
-
18禁版のマブラヴとオルタに白...
-
読み方
-
mixiのIDしか分からない人を検...
-
nslookupでIPアドレスが表示さ...
-
シークレットオブエヴァンゲリ...
-
【助けてください】googleの画...
-
相撲の星取表をすばやく作る
-
エクセルVBAで検索結果のリンク...
-
ワンウェイとはどんな意味ですか?
-
規定打席の3.1の意味。
-
リダイレクトされようとしてい...
-
ドライバーのOD式安全テストOD...
-
FF11のエラーコードについて
-
尾張温泉東海センターの 昔の写...
-
「夢にもうかがうことのできぬ...
-
Yahooとgoogle
おすすめ情報