指定したサイトから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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です