【Excel】【VBA】内閣府のHPから祝日情報をダウンロードしてExcel出力

VBA・Officeカテゴリを表すパンダのイラスト VBA・Office

仕事で、祝日を取得する必要があったのでちょっとツールを作成

参照設定

Microsoft XML を参照設定する。

VBAのコード

XMLHTTPオブジェクトの機能で、内閣府のHPから祝日情報(CSVファイル)をダウンロードする。

ダウンロードしたファイルを、Excelシートに出力させる。

Sub 内閣府のHPから祝日情報をダウンロードしてExcel出力()

    '参照設定:
    Dim httpReq As XMLHTTP60
    Set httpReq = New XMLHTTP60
    Dim httpDoc As DOMDocument60
    
    
    httpReq.Open "GET", "https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv"
    httpReq.send
    
    Do While httpReq.readyState < 4
        DoEvents
    Loop
    
    If httpReq.status = 200 Then
            Debug.Print StrConv(httpReq.responseBody, vbUnicode)
            Call writeExcel(StrConv(httpReq.responseBody, vbUnicode))
           
        Else
           Debug.Print "HTTP StatusCode:" & httpReq.status & ", HTTP StatusText:" & httpReq.statusText
        End If
    
    
    Set httpReq = Nothing

End Sub

Sub writeExcel(ByVal responseBody As String)
    
    Dim CSVRec() As String
    Dim v() As String
    
    Dim i As Long, j As Long
    CSVRec = Split(responseBody, vbCrLf)
 
    For i = 0 To UBound(CSVRec)
        Debug.Print CSVRec(i)
        v = Split(CSVRec(i), ",")
        For j = 0 To UBound(v)
            ActiveSheet.Cells(i + 1, j + 1) = v(j)
        Next j
    Next i
    

End Sub

 httpReq.Open "GET", "https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv"

このURLを変更すれば、内閣府に限らず別のアップロード済みCSVファイルを取得しExcelシートに出力できる。

文書情報

記事タイトル
【Excel】【VBA】内閣府のHPから祝日情報をダウンロードしてExcel出力
作成日
更新日
Source URL
https://papanda925.com/?p=1471

ライセンス: 本記事のうち、当サイトが権利を有する本文・自作図表は、特記なき限り CC BY 4.0 で利用できます。生成AIを活用して作成・編集した内容を含みます。コードについて、別途ライセンス表示またはリンク先GitHubリポジトリのライセンスがある場合は、その条件を優先します。引用・第三者資料・画像・商標等は本ライセンスの対象外です。 利用ポリシー

タイトルとURLをコピーしました