VBA google chatのWebhookを使ってチャットにメッセージを送信する
VBAで、google chatの「Webhook」を使ってgoogle chatにメッセージを送信するコードを記述してます。簡単に実装できます。
環境
- OS windows11 64bit
- EXCEL 2021
サンプルコード
まずはchat側で「webhook」のアドレスを取得します。「アプリとの統合」から
右下にある「+ Webhookを追加」をクリックします。
適当な名前をつけると「Webhook」用のURLが生成されます。
あとは、以下のコードのように生成したURLを使用してVBAで、「WinHttp.WinHttpReques」を使って、リクエスト作成するだけで通知が送れます。
Sub SendChatMessage(msg As String)
Dim url As String
Dim request As Object
' Google ChatのWebhook URLを設定
url = "https://chat.googleapis.com/v1/spaces/xxxxxxxxxxxxxxxxxx"
' 送信するメッセージを設定
Dim message As String
message = "{""text"": """ & msg & """}"
' HTTPリクエストを作成
Set request = CreateObject("WinHttp.WinHttpRequest.5.1")
request.Open "POST", url, False
request.setRequestHeader "Content-Type", "application/json"
' メッセージを送信
request.send message
End Sub
まず、SendChatMessage
関数に送信するメッセージを文字列として渡します。次に、Google ChatのWebhook URLを設定します。この URLは、Google Chat APIにアクセスするためのエンドポイントです。
次に、送信するメッセージを適切な JSON 形式に変換します。Google Chat API は、メッセージを JSON 形式で受け取るため、この変換が必要になります。
その後、WinHttpRequest
オブジェクトを作成し、POST リクエストを準備します。リクエストヘッダーにContent-Type
を設定し、JSON データを送信できるようにしておきます。
最後に、request.send
メソッドを使って、実際にメッセージを送信しています。
このコードを実行すると、指定したGoogle Chatの空間にメッセージが投稿されます。この関数を利用すれば、VBAコードからGoogle Chatに簡単にメッセージを送信できます。例えば、スプレッドシートのデータが更新されたときにメッセージを送信するなど、様々な用途で活用できます。
-
前の記事
kotlin 「repeat」で配列の値を全て抽出する 2024.03.18
-
次の記事
Ubuntu ホームディレクトリを英語化する 2024.03.19
コメントを書く