2017-02-16 6 views
-1

配列内のセルをループする単純なスクリプトをセットアップし、それぞれをURLの最後にコピー/ペーストし、各シートのURL。新しいシートを作成しています。いくつかのURLに移動し、特定のリンクまでドリルダウンし、それぞれからデータを抽出する方法

それは基本的にこのようなものだ...

Set rng = Sheets("IDs").Range("A2:A4") 
For Each cell In rng 

' DO STUFF HERE 

Next cell 

私の質問はこれです。スクリプトから各hrefをドリルしてそこからデータを抽出するにはどうすればよいですか?各hrefには、名前に「Upload *」という文字列が含まれています。だから、私はこれが可能かどうかも分かりませんが、スクリプトに「アップロード*」(およびワイルドカード)を使用して各リンクにドリルをかけ、ワークシートにデータをコピー/ペーストして元のURLに戻し、 「アップロード*」などの別のリンクを探します。間違いなく再帰的なスクリプトになるでしょう。これは可能でしょうか、それともちょうど時間の無駄ですか?

私はそれがこのようなものになると推測していますが、以下のコードは私のためには機能しません。 「ファイル名を指定して実行時エラー13型の不一致」この行はエラーをスロー

:私はこれで作業それを得た

For Each l In doc.getElementsByTagName("a") 
+0

http://stackoverflow.com/questions/27066963/scraping-data-from-website-using-vba –

答えて

0

strSQL = "https://la_de_da_de_da_CampaignID=" & cell.Value 

Set IE = CreateObject("InternetExplorer.Application") 
With IE 
    .Visible = True 
    .Navigate strSQL 
    Do Until .ReadyState = 4: DoEvents: Loop 
     Set doc = IE.Document 

     For Each l In doc.getElementsByTagName("a") 
      If l.ClassName Like "Upload*" Then 
      l.Click 
      End If 
     Next l 

End With 

Next cell 

私は読み込みエラーメッセージが出ています。

strSQL = "https://la_de_da_de_da_CampaignID=" & cell.Value 

Set IE = CreateObject("InternetExplorer.Application") 
With IE 
    .Visible = True 
    .Navigate strSQL 
    Do Until .ReadyState = 4: DoEvents: Loop 

     Set ElementCol = IE.Document.getElementsByTagName("a") 

     For Each link In ElementCol 
     Debug.Print link.innerHTML 
      If link.innerHTML Like "Upload*" Then 
       link.Click 
       Exit For 
      End If 
     Next link 

End With 
関連する問題