WinActor(ウィンアクター)
教えて !! スーさん。
第5回「シナリオの実行速度の向上を検証してみる」の巻
目次
- 第5回「シナリオの実行速度の向上を検証してみる」の巻1(今回)
- 第5回「シナリオの実行速度の向上を検証してみる」の巻2



今回はWinActorのシナリオを実行した際の、実行速度を向上させる方法の紹介と、どの程度実行速度が向上できているかの検証を行います。

はい、よろしくお願いします。

例えば、Excelの行単位に数百件、数千件、あるいは数万件と繰返し処理を実行するようなシナリオの場合、
実行時間がかなり長くなると思います。このような場合は少しでも実行速度を向上させて、実行時間の短縮を図りたいですよね。

数千件とか数万件とかを繰り返すようなシナリオはまだ作成したことはないですが、実行時間は短い方がいいです。

そうですよね。では早速進めていきましょう。

まずは、検証するための簡単なシナリオを用意しました。
A1セルからA100セルに「a0001」~「a0100」の文字列が記入されているExcelファイルがあります。
このExcelファイルを開いて、A列の文字列を取得して、文字列内の「a」を「b」に置換した文字列を、B列に設定するという処理を1行目から100行目まで100回繰り返します。
この処理の前後で開始時間と終了時間を取得し、その差分を実行時間として算出します。
A1セルからA100セルに「a0001」~「a0100」の文字列が記入されているExcelファイルがあります。
このExcelファイルを開いて、A列の文字列を取得して、文字列内の「a」を「b」に置換した文字列を、B列に設定するという処理を1行目から100行目まで100回繰り返します。
この処理の前後で開始時間と終了時間を取得し、その差分を実行時間として算出します。


Excelファイルの更新イメージです。
左側の図の状態から右側の図の状態に更新します。
左側の図の状態から右側の図の状態に更新します。


各ノードのプロパティを見てみましょう。
①「日時取得」ノードです。
フォーマットタイプで時間のみを指定して「開始時間」変数に現在時刻を取得します。
①「日時取得」ノードです。
フォーマットタイプで時間のみを指定して「開始時間」変数に現在時刻を取得します。


②「Excel開く(前面化)」ライブラリです。
「ファイルパス」変数、「シート名」変数を指定して、更新対象のExcelファイルを開きます。
「ファイルパス」「シート名」のそれぞれの変数には、初期値として「test.txt」「Sheet1」を設定しています。
「ファイルパス」変数、「シート名」変数を指定して、更新対象のExcelファイルを開きます。
「ファイルパス」「シート名」のそれぞれの変数には、初期値として「test.txt」「Sheet1」を設定しています。


③「繰り返しグループ」ノードです。
回数を選択して「回数」変数を指定します。
カウンタには「カウンタ」変数を指定します。
「回数」変数には、初期値として「100」を設定しています。
回数を選択して「回数」変数を指定します。
カウンタには「カウンタ」変数を指定します。
「回数」変数には、初期値として「100」を設定しています。


④「Excel操作(値の取得2)」ライブラリです。
ExcelファイルのA列から値を取得して「文字列」変数に格納します。
ExcelファイルのA列から値を取得して「文字列」変数に格納します。


⑤「文字列置換」ライブラリです。
「文字列」変数内の「a」を「b」に置換します。
「文字列」変数内の「a」を「b」に置換します。


⑥「Excel操作(値の設定2)」ライブラリです。
ExcelファイルのB列に「文字列」変数の内容を設定します。
ExcelファイルのB列に「文字列」変数の内容を設定します。


⑦「日時取得」ノードです。
①と同様に「終了時間」変数に現在時刻を取得します。
①と同様に「終了時間」変数に現在時刻を取得します。


⑧「時間差取得」ライブラリです。
設定値は秒を指定しています。
「開始時間」と「終了時間」の時間差を「実行時間」に格納します。
設定値は秒を指定しています。
「開始時間」と「終了時間」の時間差を「実行時間」に格納します。


では、用意したシナリオを実行してみましょう。
実行時間は44秒でした。
実行時間は44秒でした。


ここまではまだ準備段階です。
ここからが本題で、実行速度について検証していきましょう。
このようなシナリオの場合に、実行速度を向上させる方法として何か思いつくものはありますでしょうか。
ここからが本題で、実行速度について検証していきましょう。
このようなシナリオの場合に、実行速度を向上させる方法として何か思いつくものはありますでしょうか。

実行速度を向上させる方法としては「グループを閉じる」というのと、
「WinActorの画面自体を最小化する」というのを教わった記憶があります。
目次
- 第5回「シナリオの実行速度の向上を検証してみる」の巻1(今回)
- 第5回「シナリオの実行速度の向上を検証してみる」の巻2