【質問】
Excelファイルをトリガーとするファイルトリガーを起動したところ、「%AMTrigger.FileName%」を開くアクションでエラーとなった。
(エラーメッセージ:The system cannot find the file specified)
該当ファイルを手動で別フォルダーに移動した後トリガー対象フォルダにもう一度移動させたところ、正常終了した。
該当アクションは「OpenDocument スプレッドシート – 開く」
なお、ファイルトリガーを起動させるため、別タスクにおいてExcelセッションをトリガー対象フォルダ内に別名保存するという処理を行っている。
ファイルトリガーの条件としては、「ファイルが追加された時」を指定している。
【回答】
トリガーとなったファイルが見つからない、とメッセージが出ているため、Excelの実体ファイルではなく一時ファイルにトリガーが反応した可能性が高いです。
まず、トリガーとなるファイルの設定がExcelファイルのみ(例えば、*.xlsxという設定になっているか)をご確認ください。
トリガー対象がExcelのみであれば、
「ファイルシステム」→「フィルター」から
・「含めるマスク」を「*.xlsx」に指定
・「除外するマスク」を「~*」に指定
上記フィルターをかけることによって、ファイルシステムの起動条件からExcelの一時ファイルを除外しつつ、Excelファイルのみに設定することができます。
(参考) トリガーとなったExcelファイルをタスク内で開くと追加でタスクが起動する
https://automate.sct.co.jp/knowledge/11004/
また特定のフォルダーに「名前を付けて保存」を行うと、まず一時ファイルが生成され、その後指定したExcelの名前で一時ファイルがリネームされる形で対象のExcelが作成されます。
そのため、ファイルシステムトリガーの「ファイルが追加された時」の条件にヒットしません。
回避策として、
① Excelの保存先(名前を付けて保存)をトリガー対象フォルダではなく作業用一時フォルダとする
② ①の結果生成されたExcelファイルを「ファイルシステム - 移動」アクションでトリガー対象フォルダーに移動する
③ ②の結果、トリガー対象としてAMTrigger.FileNameでオープン可能であることを確認する
とすることで処理が可能となります。