Excel VBA でLINE通知をChatGPTに聞きながら実装

Excel VBA でLINE通知

 楽天証券APIを使って、自動発注の記事を書いているが、IFTTTでの通知が成功したが、別の方法でも可能なような記述もあったので、ChatGPTに聞いてみた。
 IFTTTはあと数日で課金されてしまうので、できれば無料でできればなと。

ChatGPTに聞く

VBAでLINE通知

ChatGPT:

VBA(Excelなど)からLINEに通知を送る方法は、LINE Notify API を使えば実現できます。以下の手順に従えば、Excelのマクロ(VBA)からLINEにメッセージを送ることが可能です。

LINE Notifyはサービス終了していた

 やった、ラッキーと思い、LINE Notifyのページにアクセスしたら、2025/3/31で終了していた。

LINE Notify

LINE Notify allows you to send web notifications from GitHub, IFTTT, Mackerel, and more directly to your LINE chats.


https://notify-bot.line.me/closing-announce

代替案は

代替案を聞いてみると

私:通知だけでOK。でもLine notifyは使わない(廃止されているから)

ChatGPT:

了解しました!
通知だけでOKで、**LINE Notifyは使いたくない/使えない(実質廃止)**という場合は、代わりに LINE公式アカウント(Bot)+ Messaging API を使って通知を送る方法が最適です。


✅ 目的:VBAなどから「LINE Botを使って自分に通知を送る」

LINE Botは・・

 ChatGPTの教えの通りやっていったが、メニューが違うとか、UIが変わったとか、言うとおりに3回ほど繰り返したが、指示通りにならず、あきらめた。
 ChatGPTはこの、仕様が途中で変わったとか、出てこないメニュー等多い感がある。が、自分でWEB調べていたら、3倍位時間はかかっただろう。
 LINE BOTはあきらめて別の方法に挑戦。


DISCORDというものがいいらしい

了解です!
それでは、**Discordの「サーバーの作り方」と「Botや通知の導入方法」**を順を追ってご案内します。


🏗️ Step 1:Discordサーバーの作り方(基本の土台)

① Discordにサインアップ or ログイン

  • https://discord.com/ へアクセス
  • アカウントを作成(メール、ユーザー名、パスワード)

② サーバーを作成

  1. Discordアプリやブラウザの左側メニューで「+」をクリック
  2. 「自分用」または「友達と一緒に」などを選択
  3. サーバー名を入力(例:通知テストサーバー)
  4. 作成完了!🎉

📂 Step 2:通知を受けるチャンネルの作成

  • デフォルトで「general」チャンネルがありますが、
    通知専用に分けてもOKです。

新しいチャンネルの作り方:

  1. サーバー名の右「︙」→「チャンネルを作成」
  2. 種類:「テキストチャンネル」
  3. 名前:例)通知bot通知 など
  4. 作成をクリック

🔔 Step 3:Webhook(通知用URL)の作成

チャンネルにWebhookを作成する手順:

  1. 該当チャンネルの名前横「⚙」をクリック(設定)
  2. 左メニューから「インテグレーション」→「Webhook」
  3. 「Webhookを新規作成」
  4. 以下を設定:
    • 名前:通知Botなど
    • チャンネル:通知を送信したいチャンネル
    • Webhook URL:✅ コピーして保存
  5. 保存をクリック

✅ このURLが「通知用API」のようなものです!


📤 Step 4:VBAや他ツールから通知を送る(例:Excelから)

VBAサンプルコード:

Sub SendToDiscord()
Dim http As Object
Dim webhookURL As String
Dim json As String
Dim message As String

webhookURL = "https://discord.com/api/webhooks/xxxxxxxxxxxxxxxxxxxxxxxx" ' 自分のURLを貼る
message = "📢 ExcelからDiscordに通知を送信しました!"

json = "{""content"":""" & message & """}"

Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "POST", webhookURL, False
http.setRequestHeader "Content-Type", "application/json"
http.Send json

MsgBox "通知を送信しました。"
End Sub

引っかかったところ

 上記、コードで"http.Send json"でエラー。GPTに聞くと。
 Set http = CreateObject("Microsoft.XMLHTTP")に変えてみろと。やはりだめ。
 次に、
 Set http = CreateObject("WinHttp.WinHttpRequest.5.1")に変えてみろと。うまくいきました。
 スマホ側のDISCODEアプリに通知され、通知ウインドウにも即時表示。
 無料で使えるので、まずはこれで通知は解決。

実装

実装結果、スマホアプリへの通知は以下

Screenshot

最後に

 通知は、LINE通知は意外と敷居が高い。IFTTTは料金さえ払えば一番簡単かも。しかし、月に数回、使うかわからない機能に2.99ドル払うのはちょっと。ほかに役に立ちそうな機能があれば考えたがざっと見たところない。
 DISCODEは知らなかったが、なぜかスマホにインストールされていた。ゲーム系のLINEのようなものらしい。
 CGPTは便利だが、古い情報で提案してきたり、たまに間違った方法を指示してきたりする。おかしいと思って指摘すると素直に謝る。
 LINE BOTのやり方では、自前でサーバを立てる必要があったが、CGPTは、その手間もやってくれるという驚くべき機能もあった。
 従来は3日ほどかかったものが数時間でできる感はある。

Follow me!

Excel VBA でLINE通知をChatGPTに聞きながら実装” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です