Runコマンド(特殊コマンド)

 かなり専門家向けの仕様ですが、ExcelのマクロあるいはVBAを呼び出すこともできます。ExcelのVBAは、強力でWindowsに用意されたプログラマー用のAPI(アプリケーション・インターフェース)を呼び出せます。即ち、XCuteは、Windowsの資源を全て利用できるのです。
XCuteの良さは、プログラムのようなコードを記述することなく、それなりのアプリケーションが作成できることなので、VBAの呼び出しはお勧めではありません。また、VBAは保守性を悪くします。
VBAの呼び出しは、本RUNコマンドを使用します。

マクロには、変数をパラメータとして指定することは出来ません。マクロが起動した状態では、ひな型はワークブックへコピーされ、そのワークシートにSetコマンドで指定された値は戻されています。このワークシートがアクティブなシートで、このシートからセルの値を読み取るようなプログラムを記述します。
マクロの内部でアクティブなシートを変更した場合には、終了時点で必ず元のシートに戻してください。
実際にマクロ(VBA)を利用されているのは、つぎのようなケースです。
・入力値のエラーの評価
FilterChg_Sqlが複雑な場合。

指定されたVBAが正しく起動されることを確認するには、VBAにブレークポイントを設定し、ブラウザからURLを指定します。
VBAが起動されないトラブルには、RunARunBの指定が誤っている他に、VBAにエラーが発生している場合があります。VBAのエラーは下の図のように、コンパイルすると発見できます。

注意:ひな型シートにVBAを記述した場合、Private SubやPrivate Functionとし、Privateを付けて関数やマクロを定義してください。これを怠ると、ブラウザからVBAを呼び出されセキュリティ・ホールとなりかねません。

書式
RunX=ひな型ブック名!マクロ名
RunX
Xには、B,A,Lを使います。
RunBBeforeで、XCute本体の読み書きの実行前にマクロが実行されます。
RunAAfterで、XCute本体の読み書き後にマクロが実行されます。
RunLLastで、OverWriteなどが全て終了した後に実行されます。
WriteSheetの場合は、XCute本体は実行されないので、RunARunBは差はなく、どちらかを指定しても差し支えありません。
Runは、R3C8以降に呼び出すOverWriteEXT_SQLコマンド用です。

適用位置
R2C8以降のセル(RunB,RunA,RunL)
 (R2C8以降のセルにはRunB、FilterChg_Sqlなどが記述されますが、RunBが先に実行され、その後で再度R2C8以降のセルがスキャンされFilterChg_Sqlコマンドが評価されますので、RunBFilterChg_SqlコマンドをR2C8以降にセルに記述できます。)

R3C8以降のセル(Run)
 たとえば、R3C8から順にRun、FilterOverWriteと指定された場合、Filterに基づきOverWriteが実行され、その後Runが実行されます。 したがってRunとセットのFilterなどをRunにより書き換えができるものではありません。R3C8のRunは、FilterNextと同じ扱いで、OverWriteなどの特殊コマンドとセットで使います。

利用可能バージョン
XCute Ver6.0.0以降(RunL)

参照
 ○
ひな型シート2行目
 ○ひな型シート3行目