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で、こちらを使用できるように変数に代入しています。
実行した結果がこちらです。
簡単に実装できますので、ぜひ活用してみてください。