Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Home Premium : Excel 2016)
VBscriptでWebスクレーピングする方法
投稿日時: 19/04/16 06:34:44
投稿者: gorby

https://bgp.he.net/AS9228 のサイトにIEでアクセスして、titleタグを取得して文字列分割して、その一部をMsgBoxで画面に表示するVBスクリプトを下記のとおり作成しました。板違いかもしれませんが、VBスクリプトを質問する板が他にないため、ご存知の方教えてください。
 
これに下記の機能を追加したいのですが、コードはどのようになるでしょうか?
 
<追加機能ここから>
 
Excel sheet c:\C_list.xlsxのA列に下記の整数値(顧客コード)が並んでいる。
 
9228
246
198
....
 
この整数値に下記の文字列を連結してURLを作成する。
 
https://bgp.he.net/AS
 
9228であれば
 
https://bgp.he.net/AS9228 
 
このURLを コード中の '当該ページをIEで開く のURLと置換して繰り返しtitleタグを取得し、
 
コード中のresultを繰り返し取得する。
 
取得したresultの内容をExcel sheet c:\C_list.xlsxのC列に上から順番に書いていく。
 
<追加機能ここまで>
 
ーーー<コードここから>ーーー
Option Explicit
 
Dim objIE
 Set objIE = CreateObject("InternetExplorer.Application")
'IEを開くかどうか。開くを指定
objIE.Visible = True
 
'当該ページをIEで開く
objIE.navigate "https://bgp.he.net/AS9228"
 
 
'ページが読み込まれるまで待つ
Do While objIE.Busy = True Or objIE.readyState <> 4
WScript.Sleep 100
Loop
 
 
'タイトルを表示
msgbox objIE.document.Title
 
 
Dim s
Dim s1
Dim p
Dim result
 
s = objIE.Document.title
s1 = Split(s, "-")(0)
p = InStr(s1, " ")
result = Mid(s1, p + 1)
 
msgbox result
 
ーーー<コードここまで>ーーー

回答
投稿日時: 19/04/16 06:40:06
投稿者: simple

ありがとう、だけじゃなく、こちらの指摘をどう受け止めたのか書いてください。
参考サイトも読んだのですか?
原因はそこだけだったのですか?
結果は?
コミュニケーションですから、お互いにきちんとやりとりしましょう。

回答
投稿日時: 19/04/16 11:22:22
投稿者: Suzu

EXCEL VBA 板で、Excelを操作する部分を含んでいるのに、VB Script なのでしょう。
  
素直に Excel VBA を使えば良いのでは。
 
ご希望の動作はループで処理可能です。
提示されたコードをご自分で作成しているなら、作成できると思います。
 
業務で行っているなら、
・自分でコードを作成する。
それができないならお金を払って外部委託するものです。
 
中途半端にいいとこ取りをしても
その時費用は発生しなくとも後でイタイ目に遭いますよ。

投稿日時: 19/04/16 13:03:24
投稿者: gorby

ありがとう。