WinActor

2020.10.15
サンプルシナリオ Excel関連
WinActorからExcelのマクロを非同期で実行するサンプルシナリオ

WinActorのエミュレーションを使用してExcelのマクロを非同期で実行するサンプルシナリオになります。

シナリオからExcelのマクロを実行し、エラーが発生した際にシナリオが止まることなく継続して処理することができます。

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

サンプルシナリオ概要

はじめに

WinActorのエミュレーションを使用してExcelのマクロを非同期で実行するサンプルシナリオ(以降、本サンプルシナリオ)について説明します。
本サンプルシナリオはマクロの非同期実行と特定のエラー・正常終了判定を行います。
本ドキュメントでは「Excelマクロを非同期で実行(エラー判定あり).ums6」について説明しており、
マクロの非同期実行のみを行うシナリオ「Excelマクロを非同期で実行(エラー判定なし).ums6」も同梱してます。

本サンプルシナリオの概要

本サンプルシナリオは、以下の処理を行います。

  • 実行したいマクロが登録されているExcelファイルを開きます。
  • エミュレーションを利用して指定されたマクロを実行します。
  • 指定時間待機します。
  • 待機完了後、エラーダイアログが表示されているか判定を行います。
    • 設定されている場合は正常終了ダイアログが表示されているか判定を行います。
  • 判定結果によって処理を分岐させ、それぞれに指定した処理を実行します。

使用するWinActorモジュール

本サンプルシナリオでは、以下のWinActorモジュールを使用します。

  • ノード/アクション/ウィンドウ状態待機
  • ノード/アクション/指定時間待機
  • 04_自動記録アクション/エミュレーション.ums6
  • 14_入力欄操作/エミュレーションで文字送信.ums6
  • 18_Excel関連/01_ファイル操作/Excel開く(前面化).ums6

動作確認環境

本サンプルシナリオは以下の環境で動作確認しています。

  • Windows 10
  • WinActor 6.3.0、7.1.0
  • Microsoft Excel 2019

本サンプルシナリオの使い方

本サンプルシナリオの実施方法は以下の通りです。

Step 1. Office(Excel)を確認

本サンプルシナリオは、WinActorが動作するPCとOfficeに含まれるExcelを用いて、マクロ実行するシナリオです。
手元のPCで動作が確認できるように、上記のアプリがインストールされているか、確認してください。

Step 2. サンプルシナリオの読み込み

ダウンロードしたサンプルシナリオのZIPファイルを展開し、展開したフォルダに含まれている本サンプルシナリオをWinActorで読み込みます。

Step 3. 動作に必要な変数を設定

本サンプルシナリオを実行するために必要な値を、変数一覧で設定します。
事前に設定が必要な変数は下記に記載しております。

  • ファイル名
    • 実行するマクロが登録されているファイル名を、絶対パスまたは相対パスで指定してください。
      例) 正常パターンマクロ.xlsm

  • マクロ名
    • 実行するマクロ名を指定してください。
      例) Sample1

  • 正常終了判定
    • 正常終了判定をする場合は、1を指定してください。
      ※正常終了判定をする場合はサンプルシナリオ解説の2.正常終了判定に記載の手順で正常終了時のダイアログを設定する必要があります。
      例) 1
10953_input1.png
変数一覧画面

Step 4. エラー判定までの待機時間を設定

マクロ実行開始から、エラー判定処理開始までの待機時間を実行するマクロの処理時間に合わせて「指定時間待機ノード」に直接設定してください。
初期値は10秒です。

10953_input2.png
待機時間設定

Step 5. サンプルシナリオの実行

WinActorで本サンプルシナリオを実行します。
同梱されている正常パターンマクロ.xlsmを指定した場合、10秒後にExcelからダイアログが表示され、マクロが正常終了します。
エラーパターンマクロ.xlsmを指定した場合、マクロでエラーが発生します。

Step 6. サンプルシナリオの終了後の確認

実行結果として、判定結果に従ってメッセージが表示されていることを確認してください。

10953_input3.png
正常終了メッセージ

10953_input4.png
エラー発生メッセージ

トラブルシューティング

本サンプルシナリオでは、変数指定が不十分であった場合、エラーメッセージが出力されます。
詳細については、エラーメッセージ一覧を参照してください。

サンプルシナリオ解説

本サンプルシナリオで使用している実装テクニックについて解説します。

1.マクロの非同期実行

本サンプルシナリオのマクロ実行は、「エミュレーション」ノードを使用したキー操作で実現しています。
以下の操作でマクロ実行を開始し、処理の完了を待たずにシナリオを進めることが可能です。

10953_input5.png

マクロ実行シナリオ

2.正常終了判定

本サンプルシナリオの正常終了判定は、「ウィンドウ状態待機」ノードの状態取得機能活用することで実現しています。
以下のように、ウィンドウ識別名に正常終了時に出力されるダイアログを予め設定してください。
ダイアログタイトルやOKボタンのレイアウトなどが変更されると正常に判定できない場合があるので、都度設定しなおしてください。
正常終了判定を行わない場合はマクロ名が誤っていた場合でもエラー判定となりません。

10953_input6.png

正常終了確認用ノード

変更履歴

版数 日付 修正内容
版数
1.0版
日付
2020/10/15
修正内容
初版
版数
1.1版
日付
2024/1/15
修正内容
・注意事項を削除
・ファイル名を「SS2009_10953_ExcelOperationRunMacroAsynchronously_1.0.1.zip」に変更

本コンテンツをダウンロードする前にこちらの利用条件を必ずご確認いただき、内容に同意をしたうえでダウンロードしてください。 また、"コンテンツの利用条件"は下のボタンからダウンロードし、お手元で保管してください。

"Excel関連"に関連するその他のサンプルシナリオ

サンプルシナリオ一覧へ戻る
当サイトでは、お客さまに最適なユーザー体験をご提供するためにCookieを使用しています。当サイトをご利用いただくことにより、お客さまがCookieの使用に同意されたものとみなします。詳細は、「プライバシーポリシー」をご確認ください。