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関連

    「いちばんやさしいExcel VBAの教本」レビュー

    VBAの学習者であれば一度は見たことがあるであろう、超有名老舗サイト「…

  2. Office関連

    Excelで地理データや株価情報を取得する方法

    下記記事にある、今年3月に追加された「データの種類」機能を使って、Ex…

  3. Office アドイン

    Office Scriptsの使いどころ

    これまで当ブログでOffice Scriptsについて色々と記事を書い…

  4. Office関連

    「カレンダーから日付入力」をUserFormに移植してみました。

    前回の記事では、Office 用アプリ「カレンダーから日付入力」と同様…

  5. Office関連

    Google Calendar APIを使って日本の祝日を取得するVBAマクロ

    祝日の一覧を用意する必要があったので、Google Calendar …

  6. Excel

    Microsoft Edgeのバージョンに合わせてWebDriverをダウンロードするVBAマクロ

    ブラウザーの制御に広く使われているWebDriverですが、ブラウザー…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP