仕事で、祝日を取得する必要があったのでちょっとツールを作成
参照設定
Microsoft XML を参照設定する。
VBAのコード
XMLHTTPオブジェクトの機能で、内閣府のHPから祝日情報(CSVファイル)をダウンロードする。
ダウンロードしたファイルを、Excelシートに出力させる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
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 |
1 |
httpReq.Open "GET", "https://www8.cao.go.jp/chosei/shukujitsu/syukujitsu.csv" |
このURLを変更すれば、内閣府に限らず別のアップロード済みCSVファイルを取得しExcelシートに出力できる。
コメント