概要
PowerAutomateDesktopで、ExcelやOutlookを使用している方は多いと思います。
開発段階で、起動の部分で止まってしまう原因と解決方法を解説します。
原因
既にプロセスが存在している場合に起こります。
ExcelとOutlookでは原因が異なるので、分けて解説します。
Excel
既に書き込みで起動させている場合に、同じファイルを書き込みで起動しようとすると止まります。
画像は極端な例ですが、Excelを閉じる前にフローがエラーや例外で終了してしまうと次に起動したときにプロセスが残ったままになってしまいます。
Outlook
Outlookが下記2つの場合起動ができません。
- 既に起動していた場合
- 新しいOutlookを試す がONになっている場合
解決方法
手動で行う場合は、タスクマネージャーからExcelを終了させてください。
PowerAutomateDesktopで処理する場合、以下に記述します。
プロセスが次の場合 アクションでOutlookとExcelのプロセスがあるか検出します。その後の処理はフローに合わせて作成してください。
Outlookは新旧でプロセス名が異なるので注意してください。
フローのソースコード
IF (System.IfProcess.ProcessIsRunning ProcessName: $'''olk''') THEN
Display.ShowMessageDialog.ShowMessage Title: $'''outlook''' Message: $'''新しいOutlookを試す をオフにしてください。''' Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: True
EXIT Code: 0
END
IF (System.IfProcess.ProcessIsRunning ProcessName: $'''OUTLOOK''') THEN
Display.ShowMessageDialog.ShowMessage Title: $'''outlook''' Message: $'''outlookを終了させてから起動してください。''' Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: True
EXIT Code: 0
END
IF (System.IfProcess.ProcessIsRunning ProcessName: $'''EXCEL''') THEN
Display.ShowMessageDialog.ShowMessage Title: $'''excel''' Message: $'''excelを終了させてから起動してください。''' Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: True
EXIT Code: 0
END