|
マクロ作成中にどうしても解決できない現象があるので,教えてください。
やろうとしているのは,任意のファイルを開いておいて,属しているフォルダ内の全
txt ファイルを一つに統合することです。
問題の部分だけを抽出して,次のようなテスト用マクロを作成しましたが,insertfi
le の行で,
「****.txt は他のプログラムが使用中等の理由により開けません」
というエラーになります。
もちろん,他のプログラムが使用中ではありません。特に思い当たる原因がないので
すが,どこかで仕様を勘違いしているかと思います。ご教授ねがいます。
//************ 【ファイル統合】test
// 開かれているファイルを含むフォルダの全textファイルを統合し,結果は $tfile に置く
// ファイル毎 先頭に セパレータ(ファイル名) を付加する
$tfile = "d:\\temp\\test.txt";
$dir = directory2;
if (leftstr($dir,1) != "\\") $dir = $dir + "\\";
$f = filename;
newfile;
changename $tfile;
closehidemaru hidemaruhandle(findhidemaru($f));
call loaddll;
#r = dllfunc("ENUMFILE", "'" + $dir + "*.txt'");
if (!#r) {message "ENUFILE error"; endmacro; }
while (1) {
$file = dllfuncstr("FINDNEXT");
if ($file == "") break;
insert "\n〓〓〓" + $file + "〓〓〓\n";
insertfile $file;
}
save;
endmacro;
loaddll: //(田楽dllのロード)
loaddll(macrodir + "\\DengakuDLL.dll");
if (!result) {
message "DLL をロードできませんでした。";
endmacro;
}
return;
|
|