Excel VBA Lineアプリにメッセージを送信する

ExcelVBA-実用編

VBAでスマホアプリのLineにメッセージを送信する方法です。

mail等よりも手軽に確認ができて、配信したいグループも指定しやすいなど非常に便利です。

また、VBAの自動処理の完了、エラー、結果報告などにも非常に便利です。

Lineでメッセージを送信する方法にはAPIを使用する方法もありますが、今回は「notify」を使用します。

notify」を使用する場合はあくまでメッセージを送信できるのみです。

1.notifyとは

LINEが提供する公式アカウント”LINE Notify”から通知を受け取れるサービスです。

複数のサービスと連携でき、グループでも通知を受信することが可能です。

登録もとても簡単ですので、今回はこの「notify」を使用します。

2.notifyの設定方法

メッセージを受け取りたいグループを作成する

メッセージは登録した本人と1:1か、グループのトークルームにのみ送信可能です。

新しくメッセージを送信したいグループを作る場合は予めLineでグループを作成します。

ログイン

まず「https://notify-bot.line.me/ja/」からLineIDでログインします。

アクセストークン発行

ログインしたら「マイページ」をクリックします。

トークンを発行する」クリックします。

トークン名はメッセージの最初に必ず表示されるタイトルのようなものです。

発行されたトークンは必ずメモしておきましょう

今回は自分のみが受け取るように「1:1でLINE Notifyから通知を受け取る」を選びました。

設定したルームに「notify」を招待する

トークン発行後、「notify」を設定したルームに招待します。

3.メッセージを送信するサンプルコード

「notify」の設定が終わったら、VBAでメッセージを送信するコードを作成します。

コード自体は非常にシンプルです。

Sub LineNotify()
    
Dim objHTTP As Object
Dim LineStr As Variant

LineStr = "message=こんにちは"

Set objHTTP = CreateObject("MSXML2.XMLHTTP")
objHTTP.Open "POST", "https://notify-api.line.me/api/notify", False
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHTTP.setRequestHeader "Authorization", "Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
objHTTP.send LineStr

End Sub

「xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx」の部分が発行したアクセストークンを入力する場所です。

「LineStr = “message=こんにちは”」で変数「LineStr」にメッセージを入力を代入しています。

注意点は「message=」は必須となりますので、消さないようにしてください。

「CreateObject(“MSXML2.XMLHTTP”)」はブラウザ上でサーバーとHTTP通信を行うためのAPIで、こちらを使用できるように変数に代入しています。

実行した結果がこちらです。

簡単に実装できますので、ぜひ活用してみてください。

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