|
ダブルクォーテーションを秀丸メールのコマンドラインで渡す方法が一応ありまし
た。非公開の方法を使いました。
マクロは以下のようになりました。
//現在編集中の内容を秀丸メールの情報アイテム化するマクロ(秀丸エディタ用)
$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;
}
$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;
$command = "\"" + $exe + "\" newmail " +
"folder=\"斉藤秀夫メイン\\User\\hidenet\"" + //ここは各自
で書き換え必要。
"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;
|
|