|
鳩さん今日は、ひろです。
> run "\"" + $TuruKameDir + "turukame.exe\" /xmessage.mac";
> は
> run "\"" + $TuruKameDir + "turukame.exe\" /xxmessage.mac";
> ですね。はじめは変な動きをして、???でした。
ファイル名を書く時点で間違えていました(^^;。
> テキストファイルに書かれたMessage-Idからもとのメールを捜すのですから、や
> はりTskPrizeやIDJump.mac(鶴亀マクロライブラリにあり)のように、
> 『Message-Idのある行にカーソルをおいて』マクロを起動すると当該メールを検索
> する方式がいいと思います。
この方法に変えました。
//----------------------- message.mac -----------------------------------------
openreg "CURRENTUSER","Software\\Hidemaruo\\TuruKame\\Config";
$TuruKameDir = getregstr("TuruKameDir");
closereg;
$ini = macrodir + "\\message-id.ini";
loaddll $TuruKameDir + "tkinfo.dll";
if( dllfunc("IsTuruKame") ){
$$return = getinistr( $ini, "ID", "ID" );
if( $$return == "" )call GetID;
$$return = dllfuncstr( "YenEncode", $$return );
$s = dllfuncstr( "GetFindPack" );
if( !dllfunc( "SetFindPack",
"(\"" + $$return +
"\", word, target=person),messageidtarget=messageid, subfolder=1, inmail=3"
))goto Error;
if( !dllfunc( "FindDownInclude" ) ){
if( !dllfunc( "FindUpInclude" ) )message "見つからない";
}
if( !dllfunc( "SetFindPack",$s ))goto Error;
writeinistr $ini, "ID", "ID", "";
}
else{
call GetID;
writeinistr $ini, "ID", "ID", "\"" + $$return + "\"";
run "\"" + $TuruKameDir + "turukame.exe\" /x"
+ currentmacrobasename;
}
goto End;
Error:
message "DLL 関数失敗";
End:
freedll;
endmacro;
GetID:
##y = lineno;
##x = column;
right;
searchup2 "message-id:", fuzzy;
if( result && lineno == ##y ){
selectline;
$$id = gettext(seltopx, seltopy, selendx, selendy);
while( rightstr( $$id, 1 ) == "\x0A" || rightstr( $$id, 1 ) == "\x0D")
$$id = leftstr( $$id, strlen( $$id ) - 1 );
$$id = rightstr( $$id, strlen( $$id ) - strstr( $$id, ":" ) - 1);
while( ascii( $$id ) == ' ' )$$id = rightstr( $$id, strlen( $$id ) - 1 );
if( ascii( $$id ) == '<' && rightstr( $$id, 1 ) == ">" )
$$id = midstr( $$id, 1, strlen( $$id ) - 2 );
return $$id;
}
escape;
movetolineno ##x + 1, ##y;
message "Meessage-ID が見つからない";
goto End;
|
|