|
h-tom です。
秀丸エディタ Ver.9.18β1 (x64版)
マクロヘルプのexecmacro文で相対パスの説明をみて、確認用のマクロを作ってみた
のですが、エラーが出ます。
動作環境 − トラブル対策 − カレントフォルダ移動 は「自動」です。
「移動する(従来通り)」だとエラーは出ません。
ついでに execmacro文 の相対パスの説明部分ですが、
> これは互換性のためにそうなっていて、例えばマクロファイルからの相対パスにす
>る場合は、currentmacrodirectoryを使ってください。
は、
> これは互換性のためにそうなっていて、例えば実行中のマクロファイルからの相対
>パスにする場合は、currentmacrodirectoryを、
> マクロファイル用のフォルダからの相対パスにする場合は、macrodir 使ってくだ
>さい。
のほうがいいかな?
------------------------- エラー時の状況 --------------------------
マクロを実行しているファイル:c:\temp\test.txt
実行しいているマクロ :macrodir + "\\test.mac"
test.macから呼び出すマクロ :c:\temp\check\check.mac
//ここから 表示されたメッセージ
---------------------------
エラー
---------------------------
ファイルのパス(ファイルを含んでいるはずのフォルダ自体)が存在しません。
ファイル名 = C:\temp\check\check.mac
エラー箇所の内容(変換した内容):
} else {
---------------------------
OK
---------------------------
//ここまで 表示されたメッセージ
//ここから アウトプット枠の出力
filename = c:\temp\test.txt
directory = c:\temp
existfile(c:\temp\check\check.mac) = 1
//ここまで アウトプット枠の出力
//ここから test.mac の内容
debuginfo 2;
debuginfo sprintf("filename = %s\n",filename);
debuginfo sprintf("directory = %s\n",directory);
$file = "check\\check.mac";
$path = directory + "\\" + $file;
#n = existfile($path);
debuginfo sprintf("existfile(%s) = %d\n", $path, #n);
if(#n){
execmacro $file;
}else{
debuginfo sprintf("%s が見つかりません。\n", $path);
}
endmacro;
//ここまで test.mac の内容
//ここから c:\temp\check\check.mac の内容
message currentmacrofilename;
endmacro;
//ここまで c:\temp\check\check.mac の内容
|
|