エクセルの祝日シートに内閣府が公開している『国民の祝日』CSVデータを貼り付けるVBAを作成しましたので必要な方はコピペしてください。
前 提:エクセルに祝日シートがあること
インターネットに接続されていること
注意点:エクセルと同一フォルダ内に「祝日一覧.csv」ファイルが作成されます。
Private Declare PtrSafe Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" _
(ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long _
) As Long
Sub CsvDownload()
Dim DUrl As String
Dim Fname As String
Dim ReturnF As Variant 'API関数を格納する変数
Fname = ThisWorkbook.Path & "\祝日一覧.csv"
'日本の祝日CSVデータのリンク
DUrl = "https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv"
'第二引数にダウンロードURL,第三引数に保存先,その他の引数は0を渡します。
ReturnF = URLDownloadToFile(0, DUrl, Fname, 0, 0)
If ReturnF <> 0 Then '失敗したら0以外の数値を返します。
MsgBox "ダウンロードできませんでした。"
Else
Call FileCopy
MsgBox "ダウンロードできました。"
End If
End Sub
Sub FileCopy()
Dim CsvFile
CsvFile = ThisWorkbook.Path & "\祝日一覧.csv"
ThisWorkbook.Sheets("祝日").Cells.ClearContents '「祝日」シートのセルをクリア
With Workbooks.Open(CsvFile)
.Sheets(1).Cells.Copy ThisWorkbook.Sheets("祝日").Range("A1") '全てのデータをこのブックの「祝日」シートにコピー
.Close
End With
Sheets("祝日").Range("A1").Select
End Sub
コメント