|
> メールアドレス検索で登録名についてAND検索出来るようにすることは可能でしょ
> うか。(アドレスでなく登録名)
メールアドレス検索は、メールアドレスを対象として検索しか出来ないです。なの
で、普通の検索で、「対象(X):」を工夫して使ってほしいです。
遅くなるのは仕方が無いです。
> 例えば「○○会社 △△様」を「○○ △△」と入力して候補を出したいです。
ライブラリにアップロードしていただいてるマクロで、以下の物がありまして、こ
れを使うと、検索文字列を空白区切りで複数指定できるようにてす。
https://hide.maruo.co.jp/lib/tkmacro/hidemarumailsearch103.html
絞り込み検索で複数文字列指定するってことになると、上記マクロも含めて秀丸
メールのVersion 7.00以下では手段がありませんでした。しかし、最新βの方で、絞
り込み検索欄の方でも独自の検索条件式を指定できるようにしています。それを使う
と空白区切りでの複数指定が可能になります。
試しにマクロを作ってみたので、最新βをインストールして試してみてほしいです。
> A上記の「メールアドレス検索」を行って候補を絞ってから、
> プルダウンで「絞り込み検索」をすることが多いですが
> 「メールアドレス検索」を行って、そのまますぐに「絞り込み検索」を
> 行う方法は無いでしょうか。(検索窓をオプションで2つ用意など)
サンプルマクロの方でこれも実現できるようにしてみました。
サンプルマクロを実行して1回絞り込み検索を実行し、その後もう一度マクロ実行
すると、追加の条件指定が出来るようになります。
> B添付ファイル付きのメールにパスワードを掛けてある会社が多いですが
> パスワードが載った自動送信メールをスレッド表示で繋げることは出来ないでしょ
> うか。
秀丸メールが自動でつなげるのは無理があると思います。パスワードのメールの形
式がいろいろあるようなので、それら全部対応するのは無理があると思います。ご自
身でスレッドの連結をしてもらうしか無いと思います。
ご自身でスレッドの連結をするとしたら、メール一覧をスレッド表示にしてからパ
スワードメールをドラッグして添付ファイル付きメールの方にドロップするだけです。
それでつながります。
ちなみにパスワード別便メールの解凍をするマクロもあります。
https://hide.maruo.co.jp/lib/tkmacro/passwordzipextract18.html
----------------------------------------------------------------------------
以下、複数文字列を空白区切りで指定して絞り込み検索するサンプルマクロです。
最新β(V7.10β4)以上でないとうまく動作しません。
----------------------------------------------------------------------------
loaddll "tkinfo.dll";
#n = dllfunc("SetJapaneseCodePageMode", 1);
if( dllfunc("ViewArea") == 6 ) {
$s = dllfuncstr("ViewAreaFinder");
if( leftstr( $s, 1 ) == "\x1B" ) {
//検索条件式から文字列取得
$pack = midstr( $s, 1);
#i = 0;
#len = wcslen($pack);
#instr = 0;
$s = "";
while( #i < #len ) {
$c = wcsmidstr( $pack, #i, 1 );
if( $c == "\"" ) {
#instr = 1 - #instr;
if( #instr == 0 ) {
if( $s != "" ) {
$s = $s + " ";
}
}
} else {
if( #instr ) {
if( $c == "\\" ) {
#i = #i + 1;
$c = wcsmidstr( $pack, #i, 1 );
}
$s = $s + $c;
}
}
#i = #i + 1;
}
}
}
$s = input( "絞り込み検索文字列(空白区切りで複数指定可)", $s );
if( $s == "" ) {
endmacro;
}
//末端の空白を除去
while(1) {
if( rightstr( $s, 1 ) == " " ) {
$s = leftstr( $s, strlen($s) - 1 );
} else if( rightstr( $s, 2 ) == " " ) {
$s = leftstr( $s, strlen($s) - 2 );
} else {
break;
}
}
#split = 0;
while(1) {
//先頭の空白を除去
while(1) {
if( leftstr( $s, 1 ) == " " ) {
$s = midstr( $s, 1 );
} else if( leftstr( $s, 2 ) == " " ) {
$s = midstr( $s, 2 );
} else {
break;
}
}
if( $s == "" ) {
break;
}
#x1 = strstr( $s, " " );
#x2 = strstr( $s, " " );
if( #x1 < 0 || (#x2 >= 0 && #x2 < #x1) ) {
#x1 = #x2;
}
if( #x1 >= 0 ) {
$find[#split] = leftstr( $s, #x1 );
$s = midstr( $s, #x1 );
#split = #split + 1;
} else {
$find[#split] = $s;
#split = #split + 1;
break;
}
}
if( #split == 0 ) {
message "検索文字列が不明です。";
endmacro;
}
if( #split > 4 ) {
message "検索文字列の数が多すぎます。超えた分は無視されます。";
#split = 4;
}
$pack = "";
#i = 0;
while( #i < #split ) {
if( #i != 0 ) {
$pack = $pack + "and";
}
$pack = $pack + "(\"" + dllfuncstr("YenEncode", $find[#i] ) + "\", t
arget=smallheaderbody)";
#i = #i + 1;
}
$pack = "\x1B" + $pack; //絞り込み検索用。
#n = dllfunc("SetViewArea", 6, $pack);
|
|