Power Automate for desktop

[Power Automate Desktop]メール受信をトリガーにしてフローを実行するVBAマクロ

前回、名前を指定してPower Automate Desktopのフローを実行するPowerShellスクリプトについて記事を書きました。

UI AutomationでPADの画面を操作する仕組みで、同様の処理はVBAからでも実行することができます(UIAutomationClient(UIAutomationCore.dll)要参照)。

※本マクロの使用は自己責任でよろしくお願いいたします。

実行ボタンを押した後、Sleepを使わずに処理待ちするのが上手くいかなかったので、PADを終了する場合は、フロー実行後にすぐにウィンドウを閉じる処理となっています。

VBAからでもPADのフローを呼び出せるとなると、Outlookが使える環境であれば、メール受信時に発生するイベント「(Application).NewMailEx」を使ってメール受信をトリガーにしてフローを実行することもできるわけです。

下記は一例ですが、受信したメールの件名が「PADフロー実行:(フロー名)」の場合にフロー名で指定したフローを実行します。

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
  Dim itm As Object
  Dim v As Variant

  Set itm = Application.Session.GetItemFromID(EntryIDCollection)
  If TypeOf itm Is Outlook.MailItem Then
    v = Split(itm.Subject, ":")
    If v(LBound(v)) = "PADフロー実行" Then StartPADFlow v(UBound(v)), False
  End If
End Sub

下の動画では、スマホのOutlookからメールを送り、カメラで撮影した写真を添付メールで送信するフローを実行しています。

以上のように、Power AutomateのDesktop flowsコネクタを使わなくても、PADのフローを呼び出せることが確認できたわけですが、前回の記事でも書いた通り、安定してフローを実行できるわけではないため、実務ではDesktop flowsコネクタを使用した方が良いだろうと思います。

[Power Automate Desktop]名前を指定してフローを実行するPowerShellスクリプト前のページ

RPAのテスト用にレガシーアプリケーションを作ってみました。次のページ

関連記事

  1. Power Automate

    AppSheetとPower Automateとの連携について

    AppSheet Automationでは、Webhookによって他サ…

  2. Office関連

    受信メールに対して自動的に返信するOutlookマクロ

    「Outlook VBA 自動返信」といったキーワード検索でのアクセス…

  3. Power Automate for desktop

    Power Automate for desktop(Power Automate Desktop)…

    前回の記事でも触れていますが、Windows 11ではPower Au…

  4. Power Automate

    [Power Automate]UIフローが2020年4月2日から利用開始になるようです。

    Power Automateのプランページを見たら、新たなプランが追加…

コメント

  • コメント (0)

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

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

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP