\ ポイント最大9倍! /

Power Automate DesktopからOutlookマクロを起動する方法!

【当サイトはプロモーションを含んでいます】

じょじお

Power Automate Desktop(以下:PAD)からOutlookマクロを実行する場合、専用のアクションが用意されていないため少し工夫する必要がありました。

ぽこがみさま

この記事では、「アプリケーションの実行」アクションを使ってOutlookマクロを実行する方法について解説してみます!

前提

今回紹介する方法には、下記の条件があります。

条件

  • 引数を受け取るマクロは実行できません。
  • イベントトリガー式のマクロは実行できません
  • ThisOutlookSessionに記述されているマクロは実行できません。こちらに記述されているマクロを実行する場合は、標準モジュールに書き直してください。標準モジュールの挿入方法は手順の中で解説しています。ThisOutlookSessionに記述されているイベントトリガー式マクロは標準モジュールに移動することができませんので注意してください。
ぽこがみさま

ThisOutlookSessionは、基本的にはイベントトリガー式のマクロを記述する場所なので、ここに書いてあるマクロは実行できないので気をつけてくださいね!

目次

Outlook VBA マクロの作成方法

じょじお

PADでフローを作成する前に、テスト用のOutlookマクロを準備していきます!

STEP
Outlookを開いてAlt+F11キーを押しVBEを開きます。
Outlook VBA

VBEが開きます。(VBA用のエディタ)

STEP
VBE左上のプロジェクトウインドウの中で右クリックします。

標準モジュールを追加します。既に標準モジュールが存在する場合は追加する必要はありません

Outlook VBA

▲プロジェクトウインドウの中で右クリックします。

Outlook VBA

▲「挿入」>「標準モジュール」をクリックします。

Outlook VBA

▲新しい標準モジュールが追加されます。私の環境には標準モジュールが何もなかったのでModule1が作成されました。標準モジュールが既に存在した場合は、Module2、Module3という名前になる場合がありますが問題はありません。

STEP
テスト用のマクロをVBAで記述します。
Public Sub test()
    MsgBox ("hello.this is test sub.")
End Sub

▲先程追加したModule1を選択してマクロを記述します。今回は上記のサンプルマクロを使用します。メッセージボックスを表示するだけの簡単なマクロです。(Public句は無くても動作します。)

VbE

▲保存アイコンをクリックしてマクロを保存しましょう。

VBE

▲これでマクロの準備はおわりです。Outlookを閉じてください。Outlookを閉じるときに図のようなメッセージが表示されたらマクロが保存されていなかったということなので「はい」をクリックしてきちんと保存してくださいね。

Power Automate Desktopのフローの作成方法

ぽこがみさま

「アプリケーションの実行」 アクションを使ってフローを作ります!

じょじお

「アプリケーションの実行」 アクション は、「ファイル名を指定して実行」と同じことができるアクションです!

「アプリケーションの実行」アクション の追加

STEP
PADを開きます。

PADを使用したことがない方は、下記の記事で基本的な使い方を紹介していますのでご覧ください。

STEP
「アプリケーションの実行」アクションを追加します。
アプリケーションの実行アクション

▲左側アクションメニューの中から「システム」>「アプリケーションの実行」をクリックします。

STEP
アプリケーションの実行アクションのパラメータを設定します。
アプリケーションの実行アクション

▲パラメータを入力します。↓下記を参考にしてください。

  • アプリケーションパス
    • Outlookのパスです。多くの場合Outlookと入力すれば問題ありません。うまくいかない場合は、フォルダを含めたフルパスで指定します。フルパスの調べ方は後述します。
  • コマンドライン引数
    • /autorun "MACRO_NAME"
    • MACRO_NAMEはマクロ名に置き換えてください。私は上で紹介したtest()というマクロを実行しますので/autorun "test”とします。
  • 作業フォルダ―
    • コマンドラインで操作するときのcd(カレントディレクトリ)にあたる設定です。どこのディレクトリでOutlookを実行するかという指定になります。空白にするとエラーは起きませんがマクロが上手く実行できませんでしたので適当にC:\Users\user\Desktopとデスクトップフォルダにしておきます。「ちょっと何言っているかわからない。」という方もデスクトップなど適当なフォルダ名をフルパスで入力してください。

その他のパラメータは今回はデフォルトのままとします。

じょじお

もしかしたら、「アプリケーションを起動後」のパラメータは、「読み込むまで待機」にした方が安定するのかもしれません。

Outlookのフルパスの調べ方!

Outlookのフルパスの調べ方
ウインドウズメニュー

▲デスクトップ画面左下ウインドウズメニューをクリックします。

Outlook

▲Outlookアイコンのところで右クリックします。

パスのコピー

▲「その他」>「ファイル名の場所を開く」をクリックします。

Outlook

▲Outlookファイルが保存されているフォルダが開きましたら、OutlookアイコンのところでShiftキーを押しながら右クリックします。

パスのコピー

▲パスのコピーをクリックします。これでクリップボードにOutlookのフルパスがコピーされました。PADに戻り、アプリケーションパスのところにコピーしたフルパスを張り付けてください。ダブルクォーテーションは付けたままでOKです。

アプリケーションパスの例:
“C:\Program Files\Microsoft Office\root\Office16\OUTLOOK.EXE”

STEP
アプリケーションの実行アクションを保存します。
Power Automate Desktopアプリケーションの実行アクション

▲上図のように入力しました。画面右下の保存をクリックして閉じます。以上でフローは完成です。

STEP
フローを実行します。
Power Automate Desktopふろーの実行

▲フロー実行ボタンを押してフローを実行します。

Outlookマクロ

▲マクロによりOutlookが起動し、メッセージボックスが表示されました。マクロが正常に動作したようです!

今回作成したフローは「ファイル名を指定して実行」と同じことしてます。
ファイル名を指定して実行
ファイル名を指定して実行

▲PADで設定した内容と同じことを「ファイル名を指定して実行」にて行う場合、図のようにします。

正常に動作しないときはこちらを確認してください。

じょじお

正常に動作しない場合は、下記を確認してみてください。

Outlookがそもそも開かない。

マクロが実行できなかったり、マクロ名の記述ミスをしていてもOutlookは開くはずなので、アプリケーションパスに指定しているOutlookのパスが間違っている可能性が高いです。

Outlookは開くけど、マクロが動かない。

クラスモジュールやThisOutlookSessionモジュールにマクロを記述している場合は、標準モジュールに書き直してください。イベントトリガー式のマクロは実行できません。

モジュール内、あるいはモジュール間で同じ名前のマクロが存在していないか確認してください。たとえばModule1にtestマクロがあり、ThisOutlookSessionにもtestマクロが存在する場合、どちらも実行することができません。どちらかを改名して一意の名前にしてください。

上記以外にも、マクロの内容によってPADから実行できるもの、実行できないものがあるかもしれません!

補足

  • コマンドライン引数に/altvba otmfilenameと指定する方法は、「有効なコマンドライン引数ではありません」というエラーが表示されてうまくいきませんでした。
  • マクロに引数を渡す方法はわかりませんでした。
じょじお

どなたか分かりましたら教えてください!

関連記事

まとめ

じょじお

Power Automate for desktopからOutlookマクロを呼び出す方法について解説しました。

ぽこがみさま

このブログではRPA・ノーコードツール・VBA/GAS/Pythonを使った業務効率化などについて発信しています。
参考になりましたらブックマーク登録お願いします!

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ
¥2,200 (2024/04/21 05:47時点 | Amazon調べ)

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。

¥2,750 (2024/04/24 17:20時点 | Amazon調べ)

Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

お役に立てたらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!
目次