|
スレッドを改めました。
https://www.maruo.co.jp/hidesoft/8/x08640_.html#8787
教えて頂いたマクロ、
//現在編集中の内容を秀丸メールの情報アイテム化するマクロ(秀丸エディタ用)を、
自分で直して、メールにするか情報アイテムにするかでをマクロの中で問い合
わせが出来るようにしました。
この時、
loaddll "C:\\Program Files (x86)\\HidemaruMail\\tkinfo.dll";
これを使うと、情報アイテムで指定したフォルダのテンプレートが効かなくなるよ
うです。
"folder=\"自分のアカウント\\User\\あああ\"" のテンプレートは、
$(NoWarningHeaderUpdate)$-
$(DeleteHeader,From)$-
$(SetHeader,To,"@.item")$-
$(SetInfoItemFolder,"","User\\あああ",1)$-
$(SwitchOrikaeshi)$-
で、
1)Fromが消えない。
2)情報アイテムを保存しようとする時に、保存先を訊いてくる
という現象です。
https://www.maruo.co.jp/hidesoft/8/x08640_.html?a=9#8785
>(2)
>$to = "@.item";
> この時は、
>body=""
> を記述しない。
>("@.item"を保存するフォルダでの、テンプレート指定アリ)
と報告させて頂きましたが、
loaddll "C:\\Program Files (x86)\\HidemaruMail\\tkinfo.dll";
があるときは、
body="" bodyfile="xxx"
ではなく、単に
bodyfile="xxx"
としないと、うまくいきません。
以下のマクロで、クリップボードを使って、テストしました。
直したのは、提示して頂いたもので、以下の2点だけです。(コメントは無視
してください。)
1)loaddll "C:\\Program Files (x86)\\HidemaruMail\\tkinfo.dll"; 追加
2)"folder=\"自分のアカウント\\User\\あああ\"" + //書き換え
"body=\"\" " + //(あ)
この行をコメントすると、テンプレート通りの動きをします。
もし、再現できたとしたら、仕様変更になるんでしょか?
今までは、反対派でしたが、
body="" bodyfile="xxx"
としても、テンプレートが有効になるようにして頂きたいのですが。
//現在編集中の内容を秀丸メールの情報アイテム化するマクロ(秀丸エディタ用)
$subject = basename;
if( selecting ) {
$select = gettext( seltopx, seltopy, selendx, selendy, 1);
loaddll "hmjre.dll";
$select = dllfuncstr("ReplaceRegular", "[\\r\\n\\t]+", $select, 0, "
", 2);
$select = dllfuncstr("ReplaceRegular", " {2,}", $select, 0, " ", 2);
$select = dllfuncstr("ReplaceRegular", " +$", $select, 0, "", 2);
if(strlen( $select ) >= 150 ) {
$select = leftstr( $select, 150 );
}
$subject = $select;
// $subject = basename + " " + $subject;
}
$filename = "\"" + filename + "\"";
if( updated || basename == "" ) {
//クリップボードを使う
disabledraw;
#x = x; #y = y;
gofiletop;
beginsel;
gofileend;
copy;
moveto #x, #y;
enabledraw;
$filename = "clipboard";
}
openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
$exe = getregstr("TuruKameDir");
closereg;
if( $exe == "" ) {
message "秀丸メールのインストール先が不明です。";
endmacro;
}
$exe = $exe + "TuruKame.exe";
if( ! existfile( $exe ) ) {
message "秀丸メールのプログラム用ファイルがありません。パス = " + $exe;
endmacro;
}
call ConvertTuruKameParam $subject; $subject = $$return;
loaddll "C:\\Program Files (x86)\\HidemaruMail\\tkinfo.dll";
// #ans = dllfunc("Bypass_MessageBox", //
// hidemaruhandle(0),
// "メール作成ですか? Subject= " + $subject + "\n\n" +
// " ・N= @item\n" +
// " ・esc= 終了",
// "メール or @item" , //
// 0x10023);
// YNの処理
// ・
// ・
// ・
freedll;
$command = "\"" + $exe + "\" newmail " +
// "folder=\"斉藤秀夫メイン\\User\\hidenet\"" + //ここは各
自で書き換え必要。
"folder=\"自分のアカウント\\User\\あああ\"" + //ここは各
自で書き換え必要。
"subject=\"" + $subject + "\" " +
"body=\"\" " + //(あ)
"bodyfile=" + $filename + " to=@.item";
run $command;
endmacro;
ConvertTuruKameParam:
if( strstr( $$1, "\"" ) < 0 && strstr( $$1, "%" ) < 0 ) {
return $$1;
}
##i = 0;
##len = wcslen($$1);
while( ##i < ##len ) {
$$c = wcsmidstr( $$1, ##i, 1 );
if( $$c == "\""
|| $$c == "%" ) {
$$1 = wcsmidstr( $$1, 0, ##i ) + "%" + hex(ascii($$c)) + wcsmids
tr( $$1, ##i + 1 );
##i = ##i + 3;
##len = ##len + 2;
} else {
##i = ##i + 1;
}
}
return "\x01" + $$1;
endmacro;
|
|