並列実行ツール取扱説明書

記事
マネー・副業

0.重要確認事項


KFシステム研究所が提供する各種ツール(以下本品)をご利用いただくに当たり、下記確認事項をよくご覧の上、順守いただきますようお願い申し上げます。

・本品の著作権は、KFシステム研究所並びにKフローが有します。第三者への販売ならびに供与等は、ご遠慮ください。

・本品並びに関連品のご使用に際して生じるいかなる損害に対しても、KFシステム研究所並びにKフローは一切の責任を負いません。また、本品はトレードで収益を上げることを約束するものではありません。必ず自己責任にてご利用願います。

・本品及びその派生物を、有償無償を問わず、第三者に開示することは禁止しておりますが、運用結果の公開や新規ロジック等の開発につきましては、自己責任において自由に行って構いません。

・本品の実行にはインストール版のMicrosoft Excel 2003以降が必要です。Web版Excelや他社製Excel互換ソフトでは動作を保証できませんのでご注意ください。なお、本品を動作させるためには、マクロの実行を許可する必要があります。

・Excel2007以降で本品を使用する場合は、原則として「互換モード」をご利用ください。それ以外のモードで保存した場合、本品を起動できなくなる場合があります。

・本品はExcel2003上で開発し、動作確認を行なっています。上記の条件を満たす限り、直近のExcelバージョンでも動作いたしますが、演算速度が2割程度以上遅くなる場合があります。何卒ご承知置きくださいますよう、お願い申し上げます。

・一部マクロにおいて、シートの切り替えなどの度に再計算が行われる場合があります。シートの状態によっては、非常に時間が掛かる場合がありますが、それを避けたい場合は、「オプション」の「数式」にて、「計算方法の設定」の"ブックの計算"の「手動」にチェックを入れてください。

・Excel2013以降では、ブックが開かれるプロセスが変更になりました。それ以前では、エクセルを起動する度に新規プロセスが使用されていましたが、2013以降では既存プロセスが使用されるようになりました。そのため、例えばシステムの最適化演算を行なう場合、従来は新たにエクセルを起動してシステムを読み込めば、個々のプロセスで実行されましたが、2013以降では同一プロセス内で実行されてしまい、処理が著しく停滞する場合があります。新規プロセスでエクセルを実行するためには、Altキーを押しながら起動するか、起動時に-xオプションを付ける必要があります。詳しくはWebやエクセルの解説書等をご覧ください。

2022年2月19日 KFシステム研究所 Kフロー


1.並列実行ツールの概要


並列実行ツールは、複数のブックをほぼ同時に起動し、それらのブックに含まれるマクロを自動実行するためのツールです。
本ツールを用いることにより、時間のかかる処理、例えばKFシステムクリエイターにおける時系列演算処理等を効率的に実行できます。

また、多数のシステムを日々更新する際に、各システムを例えば4つのグループに分け、それぞれで連続実行ツールやファイル更新ツールにKFデータマネージャやシステム更新ツールを登録し、更にシステム更新ツールに更新したいシステムを登録しておけば、各連続実行ツールを登録した並列実行ツールを実行するだけで、システム更新処理を効率的に実行できます。

このように、並列実行ツールは時間の掛かる各種自動処理を分散し、実効的な処理時間を大幅に削減することができます。
処理時間の削減幅は、最大でCPUのコア数分の一になります。例えば、4コアCPUの場合、処理時間を最大で1/4に短縮することが可能となります。 


2.並列実行ツールの設定


並列実行ツールには終了処理ツールと連続実行ツールa、bが予め登録されていますが、更にツールを追加することも出来ます。
次図にその概要を示します。終了処理欄に連番を記載して、ツールのフォルダ名とファイル名、実行マクロ名を記載することにより、記載したツールを並列実行します。

並列実行001.png

並列実行ツールには、同時起動したいツールを8行目以降に全て登録します。
System欄の数字は、同時起動するエクセルの順序を昇順で記載します。その際、記載した数だけ、エクセルが別インスタンス(プロセス)で起動され、登録したツールが並列実行されます。
なお、終了処理の行については変更しないでください。

同時起動数に制限はありませんが、パソコンに搭載するCPUのコア数を超える数のエクセルを同時起動しても、トータルの処理速度が向上することはなく、むしろメモリ不足やHDDアクセスのオーバーヘッド等が生じて、動作が不安定になる可能性があります。

そのため、最大同時起動数は、CPUのコア数を上限とするようにしてください。なお、Core i7等では、ハイパースレッディング技術により、見かけ上のコア数を実際の2倍に高めていますが、あくまで物理的なコア数を同時起動の上限としてください。

親フォルダ名欄には、ファイル名欄に記載された各ファイルが共通して格納されているフォルダ名を記載します。また、子フォルダ名欄には、親フォルダとファイル名をつなぐフォルダ名を記載します。
親フォルダ名および子フォルダ名の最後には、必ず「\」を付けるようにしてください。

ファイル名欄には、並列実行するツールのファイル名を記載します。この際、終了処理に関しては変更しないようにしてください。
なお、ファイル名をダブルクリックすると、そのファイルを開くことが出来ます。もしも開かない場合は、フォルダ名かファイル名が違っている可能性がありますので、再確認してください。

マクロ名欄には、並列実行するツールで動作させるマクロ名を記述します。通常は、ファイル名とリンクしたマクロ名となっていますが、確認する場合は、当該ファイルを開いてエクセルのツールメニューから「マクロ」を選択し、表示されたダイアログのマクロ名欄に、実行するマクロ名が記載されているか調べてください。

例えば、連続実行ツールを登録する場合は、マクロ名には「連続実行」と記述しますが、最適化演算ツールを登録する場合は、マクロ名には「最適化」と記述してください。

「File Back Up=」の右側の数字は、並列処理終了後にファイルバックアップを行うかを指定するフラグです。この値が"0"の時はバックアップを行わず、"1"の時はバックアップを行います。これらの値は、プルダウンメニューから設定できます。
なお、意図しない動作を避けるため、これら以外の値は設定しないようにしてください。

「Shut Down=」の右側の数字は、並列処理終了後にPCをシャットダウンするかどうかを指定するフラグです。この値が"0"の時はシャットダウンを行わず、"1"の時はシャットダウンを行います。これらの値は、プルダウンメニューから設定できます。
なお、意図しない動作を避けるため、これら以外の値は設定しないようにしてください。

バックアップやシャットダウンの設定については、別途、終了処理ツールにて説明する各バッチファイルを、事前に編集しておく必要があります。
初期状態では、意図しない動作を防ぐため、各コマンドにremコマンドを付加しています。

なお、本ツールにおいては、各バッチファイル名を変更することは出来ません。初期状態とは異なるバッチファイル名を使用した場合は、エラー終了となる場合がありますのでご注意ください。

また、並列実行ツールに登録するファイルに終了処理の設定がある場合は、その設定は行わずに並列実行ツールの終了処理のみを設定するようにしてください。
更に深い階層のファイルについても同様です。


3.並列実行ツールの実行


設定に間違いがないことを確認したら、右上の「実行」ボタンを押します。すると、設定された順に当該ファイルが開き、指定したマクロが実行されます。
なお、各ファイルは約10秒の間隔を空けて順次開き、実行されます。開いたファイルは、横方向の表示位置を一定幅ずつずらしながら、順次重なって表示されます。

エクセル2003の場合は、重なる順番が基本的には登録順となっていますが、直近バージョン、恐らくはエクセル2013以降においては、重なる順番がズレる場合があります。
順番のズレにより視認性に影響が出る場合などは、タスクバー上に表示されるサムネイルから再選択するなどして、順番を修正してください。

特に、システムの時系列分析の場合は、ブックの左上に進行状況を示す情報が表示されるため、想定した順番通りにブックが実行されないと、それらの情報が確認できないという問題が生じます。

タスクバー上のサムネイルにマウスカーソルを当てれば、各ブックの状況を確認することはできますが、常時確認が必要な場合はサムネイルを選択することで、そのブックをアクティブにすることができます。



サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す