|
虎之助さん今日は、Iranoan です。
> call ChangeCharacter $$file,"\\","\";
ごめんなさい。
送信時に 全角→半角 変換マクロを使っていることをすっかり忘れていまし
た(^^;。末尾に改めて付けておきます。
やっているのは、保存のためのダイアログ・ボックスを開いた時に、ファイ
ル名の初期値に、できるだけ Subject に近い文字を入れているだけなので、
> ということで、秀まるおさんのマクロでやってみました。
>
> 期待したとおりになりました。
ということなので、必要ないとは思いますが。
> これは、これでいいのですが、「はい」をクリックした後に、「・・・読み直します
> か?」のダイアログが表示され、「はい」をクリックしてもその後の動作がありませ
> ん。
秀丸エディタのコードが中途半端に残っているようですね。
> この辺は、秀丸エディタマクロのsaveasを使っているかですか?
ダイアログ・ボックスを表示する SAVEAS 文を使っていますね。
//-------------------- 秀丸メール保存支援マクロ --------------------
loaddll "tkinfo.dll";
if(result){
if(!dllfunc("IsTuruKame")){
message "秀丸メール上でしかこのマクロは利用できません。";
endmacro;
}
}
else{
message "DLL のロードに失敗しました。";
endmacro;
}
if(dllfunc("MailType") == -1)goto Ending;
$$file = dllfuncstr("CurrentHeader","Subject");
#header = dllfunc("HeaderView");
##tmp = dllfunc("SwitchHeaderView",2);
call ChangeCharacter $$file,"\\","¥";
call ChangeCharacter $$return,"/","/";
call ChangeCharacter $$return,":",":";
call ChangeCharacter $$return,";",";";
call ChangeCharacter $$return,"*","*";
call ChangeCharacter $$return,"?","?";
call ChangeCharacter $$return,"<","<";
call ChangeCharacter $$return,">",">";
call ChangeCharacter $$return,"|","|";
call ChangeCharacter $$return,"\"","”";
$$file = $$return + ".txt";
changename $$file;
SAVEAS;
if(!result)changename "";
##tmp = dllfunc("SwitchHeaderView",#header);
goto Ending;
error:
message "DLL 関数失敗";
Ending:
freedll;
endmacro;
ChangeCharacter://buff 中の文字列を置換
##change_char=strlen($$2);
$$string = "";
while(1){
##number = strstr($$1, $$2);
if(##number == -1)break;
else{
##long=strlen($$1);
$$string = $$string + leftstr($$1, ##number) + $$3;
$$1 = rightstr($$1, ##long - ##number - ##change_char);
}
}
return $$string + $$1;
|
|