私は、フォルダ内のすべてのマクロ対応Word文書をループし、コマンドラインからマクロを実行するスクリプトを作成しています。Word VBAマクロの終了コード?
マクロはページ数をカウントし、カウント値が1の場合はドキュメントをプリンタに送信します。
多くの文書を(一度に200個まで)扱うことになるので、私はそれを実行して非ゼロのコードで終了させたいので、それらのイベントを捕捉して戻すことができますユーザに提供する。
ただし、Application.Quit
は終了コードを指定する方法を提供しません。私のスクリプトがそれについて知ることができるように、ドキュメントを終了させる別の方法がありますか?
EDIT:コードを要求しました。/path /を実際のパスで置き換えます。
function bulkPrint() {
// Get folder of files
$files = scandir("/path/to/my/files/");
$output = "";
$exitCode = -1;
// Loop through each file
foreach($files as $file) {
// Not real paths
exec("/path/to/winword.exe /q /x /mMyMacro \"/path/to/my/files/" . $file . "\"", $output, $exitCode);
echo $exitCode; // Always returns 0 because Word exited cleanly
}
}
コードを投稿できますか?どのように "コマンドラインからマクロを"実行していますか?私は、マクロの返品ステータスを持つほうがずっと簡単なようです。 – Comintern
多分あなたがしたいです: 'サブ(終了) のMsgBox 出口サブ End Subの ' – Andy
@Andy「終了」:ちょうどサブを終了し、Wordを終了し、ゼロ以外のコードを返さないことを。 – Grayda