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

    UIAutomationClient参照時にDLL読み込みエラーが発生した時の対処法

    マクロでダイアログやボタンの操作を行う時に便利なUI Automati…

  2. Office関連

    Excelを別インスタンスで起動する方法

    「Excel 別インスタンス 起動」といったキーワード検索でのアクセス…

  3. Office関連

    選択している行の高さを増やすExcelマクロ

    Excelの表を印刷しようとしたとき、ビミョーに文字が切れていてイラッ…

  4. Excel

    IEサポート終了でVBAマクロはどうなるの?(2)

    ※下記情報は2021年5月時点の情報で、今後状況が変わっていく可能性が…

  5. Excel

    Office クリップボードをマクロで操作する(MSAA)

    MSDNフォーラムに質問がありましたが、Office クリップボードを…

  6. Office関連

    VBAプロジェクトを「展開する」VBAマクロ

    MSDNフォーラムに面白い質問がありました。VBE・プロジェクト …

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP