【エクセルVBA】LINEメッセージ送信

当ページのリンクには広告が含まれています。

スポンサーリンク

エクセルのVBAを使って

LINEにメッセージを送信する手順 を紹介します。

セルに入力した文字列をLINEに送信できるようになります。

クリックしてジャンプ

イメージ動画(音声はありません)

サンプルダウンロード

説明に使用しているエクセルファイルです

下図のような表示が出た場合は、以下の手順でマクロを有効にできます

  1. 一度、エクセルを閉じる
  2. ダウンロードしたエクセルファイルを「右クリック」
  3. 「プロパティ」を選択
  4. 「全般」タブのセキュリティの「許可する」に
  5. 「適用」ボタンをクリック
  6. 「OK」ボタンをクリック

手順

STEP
LINE Notifyに登録してトークン発行

こちら の記事で解説しています

STEP
VBAエディタを開く

Excelを開いた状態で

Alt + F11 キーを押してVBAエディタを開きます。

STEP
モジュールを追加

VBAエディタ内で

「挿入」メニューから「モジュール」を選択し

新しいモジュールを作成します。

STEP
VBAコードを記述

記事下にあるサンプルコードを

VBAエディタに貼り付けます

保存先のダイアログが出た場合は

適当な分かりやすい場所(デスクトップなど)を選択して保存

保存したら VBAエディタ は閉じてOK

STEP
Excelシートに「送信」ボタンを作成、割り当て

Excelシートに「送信」ボタンを作成

適当な場所に「ボタン」を設置します

「マクロの登録」ダイアログが出るので

以下のように選択してOKをクリック

VBAのLINEメッセージ送信()が実行されるように設定されます

ボタンが設置されれば完了

STEP
「C5」セルに トークンを貼り付け

STEP1で発行したトークンを「C5」セルに貼り付け

あとは「C6」セルに メッセージ内容を入力し

ボタンを押すと メッセージが送信されます

VBAコード

Sub LINEメッセージ送信()

    Dim token As String
    Dim url As String
    Dim messege As String
    Dim objHttp As Object
    
    'トークン設定
    token = ThisWorkbook.Worksheets("Sheet1").Range("C5").Value
    
    '「LINE Notify」のURLを設定
    url = "https://notify-api.line.me/api/notify"
    
    '送信するメッセージを設定
    messege = vbCrLf & ThisWorkbook.Worksheets("Sheet1").Range("C6").Value
    
    '「XMLHTTPオブジェクト」を取得
    Set objHttp = CreateObject("MSXML2.XMLHTTP")
    
    '送信
    objHttp.Open "POST", url, False
    objHttp.setRequestHeader "Authorization", "Bearer " & token
    objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    objHttp.Send "message=" & messege
    
    'あとしまつ
    Set objHttp = Nothing

End Sub

コード説明

トークン は C5セル から取得

動画では トークンの文字列 は隠してあります

メッセージ内容 は C6セル から取得

スポンサーリンク

クリックしてジャンプ