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

    VBAの力量をはかる3つの質問

    先日、Twitterではけた氏の面白いツイートがありました。3…

  2. Excel

    既存の機能の代わりにマクロを実行する方法をまとめてみました。

    「既存の機能の代わりにマクロを実行する」の関連になりますが、Offic…

  3. Office Scripts

    デスクトップ版ExcelでOffice スクリプトとして操作を記録できるようになりました。

    ※ 本記事で紹介している機能はプレビュー版に基づいており、今後のアップ…

  4. Excel

    【2017年1月版】Microsoft Edgeを操作するVBAマクロ(DOM編)(2)

    昨日の記事で、Microsoft Edgeを操作するVBAコードを改め…

  5. Office関連

    住所から郵便番号を取得するVBAマクロ

    「住所から郵便番号 VBA」といったキーワード検索でのアクセスがあった…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP