Excel

Power Automate経由でTwitterに投稿するVBAマクロ

Hiro( @mofumofu_dance )さんがVBAとPower Automate連携という、面白いことをされていました!

これは楽しそう!試すしかない!

というわけで、さっそくやってみました。

HTTP要求で受け取った文字列をツイートするPower Automateフロー

まずはPower Automateのフローです。

  1. 自動化したクラウド フローで「HTTP 要求の受信時」をトリガーにします。
  2. methodは「POST」、文字列さえ受け取れれば良いので「要求本文の JSON スキーマ」は下記のような形にしておきます。
  3. {
        "type": "object",
        "properties": {
            "message": {
                "type": "string"
            }
        }
    }

  4. 新しいステップから「作成」を追加し、手順2.で設定した「message」を入力値とします。
  5. 新しいステップから「ツイートの投稿」を追加し、「ツイート テキスト」を手順3.の値を指定します。
  6. フローを保存すると、「HTTP 要求の受信時」にURLが表示されるので、メモ帳等にコピーしておきます。

Power AutomateのURLにPOSTするマクロ

次はマクロのコードです。

Option Explicit

Public Sub Sample()
  PostPowerAutomate _
    "こんにちは。" & vbCrLf & _
    "Power Automateからの投稿テストです。"
End Sub

Private Sub PostPowerAutomate(ByVal message As String)
  Dim dat As Variant
  Const url As String = "(Power Automateのフロー作成時に取得したURL)"
  
  message = Replace(message, """", "\""")
  dat = "{""message"":""" & message & """}"
  With CreateObject("WinHttp.WinHttpRequest.5.1")
    .Open "POST", url, False
    .setRequestHeader "Content-Type", "application/json"
    .send dat
    Select Case .Status
      Case 200, 202: Debug.Print "done."
      Case Else: Debug.Print .Status, .responseText
    End Select
  End With
End Sub

指定したURLにJSON形式のパラメーターをPOSTするだけの単純なコードです。
注意点として、リクエストヘッダーに「Content-Type: application/json」を含める必要があります。

上記マクロの結果は下記の通りで、意図したとおりにツイートできました。

VBAからTwitter等のAPIを叩く際は、特に認証周りの実装が面倒くさいのですが、Power Automateを介することで簡潔に処理できます。
(使わないときはフローをオフにしておく。)
唯一惜しいのは「HTTP 要求の受信時」がプレミアムコネクタであることでしょうか。

とはいえ、VBAからPower Automate経由で各種APIを呼び出すのは活用場面も広いと思いますので、プレミアムコネクタが使える環境にある方は、是非一度お試しください!

Hiroさん、今回は非常に面白いアイデアを共有いただき、ありがとうございました。

PDFのしおり情報を出力するVBAマクロ前のページ

Googleのインデックスからブログ記事が削除された件次のページ

関連記事

  1. Office関連

    CDOを使ってGmail送信を行うVBAマクロ

    「VBA Gmail 送信」といったキーワード検索で、「Gmail A…

  2. Office関連

    Internet Explorer用OneNoteアドオンを利用して指定したWebページをOneNo…

    「Evernote Webクリッパーで指定したWebページをEvern…

  3. Office関連

    7-Zipで圧縮・解凍を行うVBAマクロ

    「7-Zip VBA」といったキーワード検索でのアクセスがありました。…

  4. Office関連

    【2017年7月版】ポータブル デバイスからファイルをコピーするVBAマクロ

    4年ほど前に、PCに接続したスマートフォン等のWindows ポータブ…

  5. Office関連

    MDB(Accessデータベース)ファイルを作成してデータを格納するExcelマクロ

    2012/2/22追記:下記で作成したMDBファイルを利用したWo…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

最近の記事

アーカイブ

PAGE TOP