Excel

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

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

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

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

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

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

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

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

Power AutomateのURLにPOSTするマクロ

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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. Excel

    PowerShellからClosedXMLを使ってExcelファイルを作成する方法

    以前C#からClosedXMLを使ってExcelファイルを操作する方法…

  2. Office関連

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

    2021/10/1 追記:本記事は公開されてから大分時間が経ってお…

  3. Office関連

    ディスプレイのサイズを取得するVBAマクロ

    「VBA ディスプレイ 幅 高さ」といったキーワード検索でのアクセスが…

  4. Office関連

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

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

  5. Office関連

    インストールされたフォントの一覧を取得するVBAマクロ

    最近自分の周りでPowerPoint VBAが流行っているようだったの…

  6. Office関連

    「Excel VBAの神様 ボクの人生を変えてくれた人」(大村あつし著)レビュー

    ※ 下記レビューはあくまでも個人的な感想です。2015年9…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

zh-CNzh-TWenfrdejakorues

最近の記事

アーカイブ

PAGE TOP