|
過去ログを探したらありました。
かな漢字変換をONにする処理も入れて、以下のようにしてみましたけど、こん
なんでどうでしょうか。改良したい点があれば、マクロヘルプのSetFindPackの
所を見て直していただいてもいいし、直し方が分からなければ、僕の方で直して
もいいです。
------------TuruKameGoogleLikeGrep.mac-----------------
//秀丸メール用、Google風検索マクロ by 秀まるお
//
//2012.11.01
// turukame.2:03435| 検索方法に関する要望
//
loaddll "tkinfo.dll";
if( imestate == 0 ) {
imeswitch;
}
$s = input( "検索文字列は?" );
if( $s == "" ) {
endmacro;
}
#count = 0;
$find[0] = $s;
while(1) {
#x = strstr( $find[#count], " " );
#x2 = strstr( $find[#count], " " );
if( (#x >= 0 && #x2 >= 0 && #x2 < #x) || (#x < 0 && #x2 >= 0) ) {
#x = #x2;
}
if( #x > 0 ) {
$find[#count+1] = midstr( $find[#count], #x, 9999 );
$find[#count] = leftstr( $find[#count], #x );
#count = #count + 1;
while( 1 ) {
if( leftstr( $find[#count], 1 ) == " " ) {
$find[#count] = midstr( $find[#count], 1, 9999 );
} else if( leftstr( $find[#count], 2 ) == " " ) {
$find[#count] = midstr( $find[#count], 2, 9999 );
} else {
break;
}
}
} else {
break;
}
}
#count = #count + 1;
if( #count > 4 ) {
message "4つ以上の文字列は検索できません。";
endmacro;
}
#i = 0;
while( #i < #count ) {
if( #i != 0 ) {
$set = $set + " and ";
}
$set = $set
+ "(\"" + dllfuncstr("YenEncode", $find[#i] ) + "\""
+ ", target=smallheaderbody)";
#i = #i + 1;
}
$set = $set + ",subfolder=1,inmail=2,hilight=0";
// $backup = dllfuncstr("GetFindPack");
#n = dllfunc("SetFindPack", $set);
#n = dllfunc("PushFindPack");
#n = dllfunc("DoGrep", "", "受信+送信済み+ユーザー");
// #n = dllfunc("SetFindPack", $backup);
endmacro;
|
|