|
nawa さん、なんとさん今日は、ひろです。
マクロを記載したので、長文になってしまいますが、ご容赦下さい。
> 秀丸(鶴亀)用のスペルチェックってあまり聞かないですね。
確かに
> http://www.phys.waseda.ac.jp/gravity/~tominaga/comp/hide_splchk.html
ぐらいしか有りませんね。
ただこのスペルチェックは、タイプミスしていた場合でも修正候補がでな
いので、アンドゥが出来なくなるのが欠点ですが、私は、
//-------------------------------------------------------------------
if(filename == ""){
loaddll "tkinfo.dll";
if(!result){
message "ファイルを保存してから実行してください";
goto End;
}
if(dllfunc("IsTuruKame")){
goto TuruKame;
}
}
else goto Hidemaru;
TuruKame:
##main = dllfunc("MainWnd");
if(##main == 0){
##open = 1;
##handle = hidemaruhandle(0);
if(dllfunc("IsTrayIcon")){
##main = sendmessage(findwindowclass("TuruKameFrame"),
0x0112, 0xF120, 0 );
setactivehidemaru ##handle;
##main = dllfunc("MainWnd");
}
else{
message "本体が起動していないと、実行できません。";
goto End;
}
}
$$account = dllfuncstr("ExecAt",##main,"CurrentAccount");
$$folder = dllfuncstr("ExecAt",##main,"CurrentFolder");
##mailType = dllfunc("MailType");
if(##mailType != 0 && ##mailType != 5){
message
"「草稿」「未送信」に保存された送信メールしか実行できません";
goto End;
}
if(!readonly)execmacro macrodir + "OverWrite.mac";
loaddll "tkinfo.dll";
$$draftAccount = dllfuncstr("CurrentAccount");
$$draftFolder = dllfuncstr("CurrentFolder");
if($$draftFolder != "草稿" && $$draftFolder != "未送信"){
message "送信メールしか実行できません";
goto End;
}
##handle = hidemaruhandle(0);
$fileName = dllfuncstr("MailFilePath");
if(##handle != ##main){
if(!dllfunc("Sync"))goto Error;
}
else{
message "エディタ・ウィンドでしか動作しません。";
goto End;
}
if(!dllfunc("SetMainWndTop"))goto Error;
closehidemaru ##handle;
if(!dllfunc("ExecAt",##main,"SelectFolder",$$account,""))goto Error;
runsync2 "ispell -j -de:/usr/local/share/ispell/US-xlg.hash -x \""
+ $fileName + "\"";
if(!dllfunc("ExecAt",##main,"RemakeList",$$draftAccount,$$draftFolder))
goto Error;
if(!dllfunc("ExecAt",##main,"SelectFolder",$$draftAccount,$$draftFolder))
goto Error;
if(!dllfunc("OpenMail"))goto Error;
if(!dllfunc("ExecAt",##main,"SelectFolder",$$account,$$folder))
goto Error;
if(##open)##tmp = dllfunc("ExecAt",##main,"Exit");
goto End;
Error:
message "DLL error";
End:
freedll;
endmacro;
Hidemaru:
if(!readonly)save;
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
##Timestamp = getregnum("Timestamp");
##Sharing = getregnum("Sharing");
##DupOpen = getregnum("DupOpen");
writeregnum "Sharing",0;
writeregnum "DupOpen",0;
writeregnum "Timestamp",0;
closereg;
envchanged;
reopen;
runsync2 "ispell -j -de:/usr/local/share/ispell/US-xlg.hash \""
+ filename2 + "\"";
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
writeregnum "Sharing",##Sharing;
writeregnum "DupOpen",##DupOpen;
writeregnum "Timestamp",##Timestamp;
closereg;
envchanged;
reopen;
freedll;
endmacro;
//-------------------------------------------------------------------
というマクロを作成し、ispell という CUI アプリケーションと連携してい
ます。
なおこのマクロを鶴亀で使用する場合、こちらのライブラリに公開して
いる 「鶴亀メールちょっと便利なマクロ集」に含まれる OverWrite.mac も
必要になります。
|
|