2017-01-29 17 views
0

インターネットエクスプローラオブジェクトを制御するためにExcel vbaを使用したいと思います。excel vba経由でURLに情報を渡す方法

手動で私たちは "https://www.investing.com/indices/us-30-historical-data"

  • タイムフレームすなわち "毎日"
  • スタート日すなわち "2016年1月1日"
  • 終了日すなわち "31/12/2016" で設定することができます

excel vbaでこれを行う方法は?

私はURL

InfiniteLoop = True 
Set ie = CreateObject("InternetExplorer.Application") 
With ie 
    .Visible = True 
    .Navigate myURLLink ' should work for any URL 

    SleepTime = 10000 
    Do 
     DoEvents 
     Sleep (SleepTime) 
     If ie.ReadyState >= 4 Then 
      Exit Do 
     End If 
    Loop Until InfiniteLoop = False 
End With 

を開くには、このコードをした。しかし、私は

  • タイムフレームすなわち "毎日"
  • 開始日を渡す方法がわからない、すなわち「01/01/2016"
  • 開始日すなわち "2016年1月1日"

誰も助けることができますか?

+0

をリストされていると、選択した日付はページのURLに埋め込まれません。そうであれば、あなたが提案している方法を使ってそれを行うことはできません。 – Amorpheuses

答えて

0

は、私が座って移動し、日付とデータ間隔を変更するには、この簡単なマクロ(エクセル2010)を思い付いている、うまくいけばそれが役立ちます:カスタムの日付は、ダウ・ジョーンズのページあなたにダイアログ

Sub test() 
Dim IE As InternetExplorer 
Dim IEdoc As Object 
Dim IEElement As Object 

Set IE = New InternetExplorer 'initialize Internet Explorer 

IE.Navigate "https://www.investing.com/indices/us-30-historical-data" 'Navigate to URL 
IE.Visible = True 

Set IEdoc = IE.Document 

Set IEElement = IEdoc.GEtelementbyID("picker") ' navigate to date input 
IEElement.Value = "01/01/2016 - 01/01/2017" 

Set IEElement = IEdoc.GEtelementbyID("widget") ' navigate to date widget 
IEElement.Click 
Set IEElement = IEdoc.GEtelementbyID("applyBtn") ' navigate to Apply button to save the dates 
IEElement.Click 


Set IEElement = IEdoc.GEtelementbyID("data_interval") ' navigate to Interval picker 
IEElement.Value = "Daily" 

End Sub 
+0

あなたの投稿をありがとう。しかし、IEdoc = IE.Documentに "Run-time error '-2147467259(80004005)"が出ます。これを回避するにはどうしたらいいですか? –

関連する問題