こんばんは。tsuneです。
マクロ内でファイルの有無を検出したいのですが、適当な方法はございませんでしょうか。
下記のようにやってみましたが、Execの戻り値がファイルの有無で分かれてくれません。
戻り値 dirchk が必ず 1 になってしまいます。
Execの使い方が間違っているのでしょうか。
よろしくお願いします。
ところで、
#70の「マクロの強制終了」はできないということでしょうか。
d:\data\hogehoge.HTMLの有無で処理を分岐させたいのです。hogehogeの部分には、ファイル名に相当する変数が順次に放り込まれます。実際のマクロは、(処理色々)の部分に長々と処理内容が記載してあり、if文も実際には、もっと内容がありますが、見にくいだけなので省略しました。
【マクロ】
var
str,str2:String; // 文字列変数宣言
dirchk:Integer; // 整数数値変数 tp を用意 - 作業用
begin // { 処理開始
・
・(処理色々)
・
str := d:\data\hogehoge.HTM
dirchk := Exec('html.bat',str,True);
MessageBox(IntToStr(dirchk),'',1);
if (dirchk = 1) then break
else str2:="a";
・
・(処理色々)
・
end;
【html.bat】
@echo off
dir %1L /d | find "ファイルが見つかりません。"