指定したサイトからCSVをダウンロードして貼り付け【ExcelVBA】
SeleniumBasicでChrome操作の応用編
実際に使用したサンプルコード
Public Sub Sample()
'driverでChromeを使う準備
Dim driver As New Selenium.ChromeDriver
'ダウンロードする用のフォルダ名の変数
Dim myPath As String
'この場所にtestというフォルダを追加した文字列
myPath = ThisWorkbook.Path & "\aiueokakikukeko"
'もしテストというフォルダに中身があれば
If Dir(myPath & "*") <> "" Then
'テストフォルダの中身をファイルを削除
Kill myPath & "*"
End If
'もしテストというフォルダがあれば
If Dir(myPath, vbDirectory) <> "" Then
'フォルダを削除
RmDir myPath
End If
'テストというフォルダを作成
MkDir myPath
With driver
'ダウンロードフォルダを先程のフォルダに設定
.SetPreference "download.default_directory", myPath & "\"
'Chromeを起動
.Start "chrome"
'指定したURLへ
.Get "https://vba.company/samplepage/"
'リンクテキストがダウンロードをクリック
.FindElementByLinkText("ダウンロード").Click
End With
'フォルダにCSVが入るまでループ
Do Until Dir(myPath & "\*.csv") <> ""
Loop
'ファイル名用の変数
Dim myfile As String
'入ったCSVのファイル名を変数に
myfile = Dir(myPath & "\*.csv")
'そのファイルを開く
Workbooks.Open myPath & "\" & myfile
'開いたらこのブックにコピー
Workbooks(myfile).Worksheets(1).Cells.Copy ThisWorkbook.Worksheets("data").Range("A1")
'ブックは閉じる
Workbooks(myfile).Close
'CSVは削除する
Kill myPath & "\" & myfile
'フォルダも削除する
RmDir myPath
End Sub