必要な事前準備:

  • JsonConverter モジュール: VBA で JSON を解析するために、「JsonConverter.bas」というモジュールを追加してください。

  • Google で「VBA JSON Parser」を検索すると、見つけられます。

  • RoomID と API トークンの設定: YOUR_ROOM_ID と YOUR_API_TOKEN を実際のものに置き換えてください。

  • HTTP ライブラリ: VBA では Web リクエストをするために「Microsoft XML v6.0」を有効にしておいてください。

VBA を使用して Chatwork からデータを取得し、Excel シートに出力するコードです:

Sub FetchChatworkMessages()

    Dim Http As Object
    Dim JSON As Object
    Dim API_URL As String
    Dim API_TOKEN As String
    Dim RoomID As String
    Dim ResponseText As String
    Dim i As Integer

    ' Chatwork API の URL とトークンを設定
    API_URL = "https://api.chatwork.com/v2/rooms/YOUR_ROOM_ID/messages"
    API_TOKEN = "YOUR_API_TOKEN"

    ' HTTPリクエストの準備
    Set Http = CreateObject("MSXML2.XMLHTTP")
    Http.Open "GET", API_URL, False
    Http.setRequestHeader "X-ChatWorkToken", API_TOKEN
    Http.Send

    ResponseText = Http.ResponseText

    ' JSON の解析 (Scripting Dictionary を使用)
    Set JSON = JsonConverter.ParseJson(ResponseText)

    ' データをシートに書き込む
    i = 1
    For Each Item In JSON
        ThisWorkbook.Sheets(1).Cells(i, 1).Value = Item("body")
        i = i + 1
    Next Item
End Sub