|
Takさん,fuhhyさん,ogさん,こんばんは。
》マクロを実行し「定型文の挿入」を選択すると「…(ホームディレクトリのパス)
》…\Teikei,0」と表示されました。
》早速テストして見ましたが、fuhhyさんと同じくTeikei のフルパス、ファイル数
》は0になっています。
どうもファイル名の取得に失敗しているようです。
》このメッセージ自体が表示されるということはマクロ自体は問題なく作動してい
》ると解釈してもいいのでしょうか?
そうだと思います。
》言い忘れましたが、秀丸3.10です。
多分,これは今回の件には関係ないとは思いますが,いろいろ制限がありますの
で,特別な理由がなければ,バージョンアップをお勧めします。
ogさん,どうもコメントありがとうございます。ところで ogさんの Windows の
バージョンは何でしょうか? どうもそれが関係しているようなので。
》マクロサーバがMeで正しく動かないのでしょうか?
その可能性も否定できないようです。
どうもマクロサーバの動きに疑問が持たれますので,試しに田楽DLL仕様のテ
スト版を作ってみました。
杉浦まさきさん作の田楽DLLをまだ導入されていなければ,ライブラリにあり
ますので,ダウンロード&解凍してその中の DengakuDLL.dll だけを Hidemaru.exe
のあるフォルダに置いてください。その上で次のマクロを試してみてください。
では, (^^)/~
山紫水明
//-------TK_Insert.mac----------------------------------------------//
// 鶴亀メール用署名・定型文の挿入・作成マクロ テスト版
if( selecting ) goto MakeFile; //範囲選択状態で定型文作成
loaddll "tkinfo.dll";
if( dllfunc( "IsTuruKameMain") ) {
message "この作業は鶴亀メール本体ウィンドウ上ではできません。" +
"\nメール作成画面上で実行してください。";
endmacro;
}
#x = x; #y = y;
moveto 0, 0;
menu "&S 署名の挿入",
"&T 定型文の挿入",
"&A 全文(ヘッダを含む)置き換え";
#c = result;
if( #c == 0 ) endmacro;
else if( #c == 1 ) $folder = dllfuncstr( "HomeDir" ) + "Signature";
else $folder = dllfuncstr( "HomeDir" ) + "Teikei";
if( !existfile( hidemarudir + "\\macserv.exe" ) ) {
message hidemarudir + " にマクロサーバがありません";
endmacro;
}
// 田楽DLLのロード
loaddll(hidemarudir + "\\DengakuDLL.dll");
if (!result) {
message "DLL をロードできませんでした。";
endmacro;
}
#r = dllfunc("SETCURDIR",$folder);
#d = dllfunc("ENUMFILE", "*.*");
#i = 1; //ファイル配列番号
while(1) {
$phrase[#i] = dllfuncstr("FINDNEXT");
if( $phrase[#i] == "" ) break;
call Nimonic #i;
$numphrase[#i] = $nm + $phrase[#i];
#i = #i + 1;
}
freedll;
if( #c == 1 ) $numphrase[0] = "署名の選択 (Esc = 中止)";
else if( #c == 2 ) $numphrase[0] = "定型文の選択 (Esc = 中止)";
else if( #c == 3 ) $numphrase[0] = "テンプレートの選択 (Esc = 中止)";
menuarray $numphrase, #i;
#r = result;
if( #r <= 1 ) endmacro;
if( #c == 1 ) gofileend;
else if( #c == 2 ) moveto #x, #y;
else {
selectall;
delete;
}
Insert: //挿入
insertfile $folder + "\\" + $phrase[#r - 1];
endmacro;
Nimonic: //ニーモニックの作成
if( ##1 < 10 ) $nm = str( ##1 );
else if( ##1 < 36) $nm = char( 0x60 + ##1 - 9 );
else $nm = "";
$nm = "&" + $nm + " ";
return;
MakeFile:
copy;
question "選択範囲を,定型文または署名用のファイルとして登録しますか?";
if( !result ) {
escape;
endmacro;
}
if(!existfile( hidemarudir + "\\Hidemaru.exe" )) {
message "秀丸エディタがないとこの機能は使えません。\n"
+ "説明を読んで別の方法を使ってください。";
endmacro;
}
run hidemarudir + "\\Hidemaru.exe /xTKMakeFile.mac";
endmacro;
//-----------------------------------------------------------------------//
|
|