このベージは
・エクセルとLINEを連結するやり方
が書かれています

こんにちは、しょーい(@showilog)です。
前回に引き続き、twitter上で公開した動画の中から
便利なVBAマクロをご紹介します。

https://twitter.com/showilog/status/1288004756447748096?s=20&t=1uS5WKbziJGZI-lDQZCr9A

コチラの動画の20秒あたりで説明した
エクセルからLINEにメッセージを送る機能
を紹介します

事前準備

今回はLINEに通知するために、web上のサービスを利用します

LINE Notifyというwebサービスです。勿論無料です

こちらから飛べます

通知させたいLINEアカウントでログインしてください。

VBAコードはこちら

Sub lineテスト送信()   

Dim objHTTP As Object
Dim LineStr As Variant
Dim SndMsg
Dim Token

SndMsg = "★こちらに通知したい文章を入れる★"
Token = "★トークンを貼り付ける場所★"

LineStr = "message=" & SndMsg

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 " & Token
objHTTP.Send LineStr

End Sub

これだけです。めちゃ短いですね。
複雑なことは全てLINE Notifyが処理してくれるので、★印の部分だけ設定すればOKです

ここで【トークン】という聞き慣れない言葉がでてきました
LineNotify側の設定が必要になってくるのですが、後ほどそちらの説明をします

コードの説明

基本的にいじる部分は★で囲まれた所だけです

SndMsgに送りたい言葉を入れる
トークンに設定した文字列を入れる(後ほど説明)

これだけです!簡単ですね。
11行目以降のコードは深く考えなくて大丈夫です
私も詳しくはわかりません。こういうものなんだなぁと思って使ってます
もっとVBAレベルが上がったらまた解析しに来ましょう

LINE Notifyの設定方法

トークンの部分を説明するためには、Notify側の設定をすればわかります。

今回のマクロはコードが短い分、LINE Notifyの設定をしっかりしないと全く起動しません。
手順を追って1つずつ説明しますので、ここを見れば問題なく設定できるはずです
※PCからの操作画面で説明しています

1.LINEアカウントでログイン

ご自身が持っているLINEアカウントでLINE Notifyにログインしてください
LINEにログインするIDとパスを使えば、そのまま入れます
入れない方はLINE側でIDとパスを確認しましょう

2.マイページに移動

ログインしたら、画面右上にある名前横の記号をクリック
タブが開くので「マイページ」をクリックしてください

3.アクセストークンの発行ボタンを押す

マイページに飛んだら、ページ一番下にある【トークンを発行する】ボタンを押します

4.題名と通知先を選ぶ

上に記入する部分は、エクセルからLINEに通知する際に表示される題名のようなものです。入力しないと先に進めないので、なにか文字を入れといてください

スポンサーリンク

そして、下の選択するものは通知する場所を選びます。
今回のLINE Notifyの機能は自分1人トークルームのみにしか通知できません。

自分に通知したい場合でしたら問題ないですが、第三者に通知したい場合は事前にトークルームを作成しておきましょう。
※複数人での会話していても、トークルームを作っていないとダメなので作成し直しましょう

今回は自分ひとりに送る設定なので、一番上の
「1:1でLINE Notifyから通知を受け取る」を選択します
文字が緑になってれば選択状態です
※トークルームに通知したい場合は、ルーム名を選べばOKです

そして、下の「発行する」ボタンを押しましょう

ボタンを押すとトークンが発行されます。
赤文字のよくわからん文字列がトークンです
LINEとエクセルをつなぐためのパスワードのようなものですね

ここで必ずトークンをコピーして、先程のコード部分に貼り付けましょう
ページを開きっぱなしにしておいても良しです
表示されたトークン画面を閉じると二度と表示されません
もう一回発行し直す必要がありますので注意しましょう

再度作り直しても問題はないですが、また同じ作業をするのは面倒なので気をつけましょう。

これでLINE Notify側の設定は終わりです。

5.トークルームにLINE Notifyを招待する

自分だけに通知する場合はこの設定は必要ありません
トークルームに通知する場合は必須です

トークルームにLINE Notifyを招待しましょう
※LINE Notifyが友達になってないと招待できませんので、先に友達になっておきましょう
広告などの通知は一切ありませんのでご安心を

トークルーム内ではLINE Notifyアカウントがエクセルからの通知をつぶやいてくれますので、招待は必須になります
招待した瞬間に入室してくれます

実行結果

先ほどのマクロを起動します
通知したい文字を【テーストだよー】にしてマクロを実行します

問題なく通知できてますね
シンプルですが、エクセルを外部のシステムと連携できる素晴らしいマクロです

これだけは注意!!

カスタマイズするのは自由ですが、【無限ループバグ】だけは気をつけてください
永遠終わらない通知がLINEに流れます。
10000件とか平気で通知し続けます
自分一人なら問題ないですが、トークルームでやらかすとただのテロ行為になってヒンシュクしか買いません。そこだけは充分に気をつけてください

有効的な使い方

今回はかなり単純な仕組みなので、このままだと使い物になりません
マクロを起動したときにLINEに特定の文字を通知するだけなので、相当限定的な場所でないと使われないと思います

また別の記事で便利な使い方を説明します
カスタマイズ次第で無限の可能性があります

もしこんな風に通知したい!というご意見があればコメント欄に記載か、ツイッターにDM送ってください

やり方を説明した記事をUPいたします

スポンサーリンク