【確認】各検索ダイアログの検索文字の初No.03763
TATE2 さん 11/06/20 13:32
 
秀まるおさん

TATEです。

各検索ダイアログの検索文字の初期値について、腑に落ちない点が
ありましたので、アップします。

検索機能には画面によって機能が少しずつ違いますが、検索する
文字列が初期値としてセットされていることがあります。
例えば、カーソルの箇所の文字であったりますが、その状況も微妙
に異なるようです。使っているうちにも変化します。

メール一覧での検索機能。
・検索
・検索して一覧作成

エディタでの検索機能
・検索

アドレス帳での検索機能
・検索

今回、秀丸メールを立ち上げた後、しばらく使用していて
アドレス帳の検索機能を使用すると、文字列に以下の文字
がはいっていることがあります。
以下文字列は、以前送信時に日付と曜日のチェックを行う
マクロにあった指定だと思います。

(?<=^|[^0-9])[0-9]+/[0-9]+([日月火水木金土])

検索文字初期値は、何か意図されている仕様とかあるので
しょうか?


以上、よろしくお願いします。

環境;秀丸メールβ27



[ ]
RE:03763 【確認】各検索ダイアログの検索No.03765
秀まるお さん 11/06/20 15:23
 
 検索ダイアログボックスの初期文字列は、メール一覧枠を選択してる時ならそ
このSubject内容が入って、メール内容枠の場合は、そこの中のカーソル位置の
文字列が入るようにしています。

 (例外はあるかもしれませんけども)

 アドレス帳上での検索コマンドの場合には、選択してる項目が何かというのは
関係無くて、直前に実行した検索コマンドの検索文字列がそのまま出てくるよう
な仕様になっていました。

> 以下文字列は、以前送信時に日付と曜日のチェックを行う
> マクロにあった指定だと思います。
>
> (?<=^|[^0-9])[0-9]+/[0-9]+([日月火水木金土])

 マクロで検索文字列をセットした場合はそれがそのまま出てきてしまうと思い
ますが、これはこれで仕様ってことになります。

 マクロの方で検索文字列を書き換えないように工夫する手もあるにはあります
けども、例えばマクロで「searchdown "....", regular;」とか実行すると、次
回の検索ダイアログの「正規表現」が勝手にONになったりといったことはありま
して、これは以前から不便だなぁと思いつつも、マクロの互換性を考えてそのま
ま仕様にしてしまってます。

 アドレス帳の場合だけ、ダイアログボックス出現時の検索文字列を空っぽにす
る程度でしたらやってもいいかなぁとは思いますけども、下手に仕様変更すると
後で別のユーザー様から苦情が出ることもあるので、出来ればあんまりいじりた
くないです。

[ ]
RE:03763 【確認】各検索ダイアログの検索No.03766
秀まるお さん 11/06/20 15:26
 
 マクロで検索系コマンドを使っても検索条件を書き換えないようにする方法も
念のため書かせていただきますと…


    $s = searchbuffer;
    #f = searchoption;
    …
    マクロ本体…
    …
    setsearch $s, #f;
    endmacro;

 のように書いていただく方法があります。

[ ]
RE:03765 【確認】各検索ダイアログの検索No.03768
おひ さん 11/06/21 02:51
 
おひと申します.
いつもお世話になっております.

便乗で申し訳ありません.
いつかお願いしようと思いつつもタイミングを逃していました.

>  検索ダイアログボックスの初期文字列は、メール一覧枠を選択してる時ならそ
> このSubject内容が入って、...

数年来思っていたのですが,
Subject 内容がコピーされるのは重宝しているのですが,返信メールの
Re (Re:, Re:^2, Re[2], 等) 部分を自動的に除去してから Subject 内
容を入れることはできないでしょうか.
# 特殊&不連続なイレギュラーな Re とかは対象外でもOK

本来であればスレッド検索すれば良い話なのですが,メールソフト依存
で意図せずスレッドを切ってくる人もそれなりにいるので,仕方なく
Subject の文字列を適当にマウス選択して,Subject 検索にて一連の
メールを拾うことが多々あります.
 (または,マウス選択ではなく Re 部分を手動で削除)
# 今日も数十回…


ちなみに,2005.03 頃に教えていただいた下記マクロをいまだに
手放せず使い続けています.(ちょっとだけいじっています)
個人的には下記の延長線上でも一向に構わないのですが…,
自力でマクロが書けません.(>_<
-------------------------------------------------
loaddll "tkinfo.dll";

#n = dllfunc("SetFindPack", "(\"\", target=subject, fuzzy, noregular, nocase
sense), subfolder=0, hilight=1" );

#n = dllfunc("Bypass_PostMessage", hidemaruhandle(0), 0x0111, 40066, 0 );
if( dllfunc("CurrentPane") == 0 ) {
        #n = dllfunc("Bypass_keybd_event", 0x28 );              // ↓キー
        #n = dllfunc("Bypass_keybd_event", 0x28 );              // ↓キー
        #n = dllfunc("Bypass_keybd_event", 0x0D );              // Enterキー
}
else {
        // メール内容枠で範囲選択してない場合は,前回履歴をセット
        if( dllfunc("CurrentPane") == 2 && selecting == 0 ) {   // 範囲選択
の有無
                #n = dllfunc("Bypass_keybd_event", 0x28 );      // ↓キー
                #n = dllfunc("Bypass_keybd_event", 0x28 );      // ↓キー
                #n = dllfunc("Bypass_keybd_event", 0x0D );      // Enterキー
        }
}
endmacro;
-------------------------------------------------


オプションなりマクロなりで対処方法があればよろしくお願いいたします.

[ ]
RE:03768 【確認】各検索ダイアログの検索No.03769
秀まるお さん 11/06/21 11:29
 
 「Re:」等を除去するのは簡単だし、特にこれが無くなって困るユーザーさん
もおられないと思うので、とりあえず次のβ版でそういう風にしてみます。

[ ]
RE:03765 【確認】各検索ダイアログの検索No.03773
TATE2 さん 11/06/21 18:26
 
TATEです。

ご丁寧に解説ありがとうございました。

> (例外はあるかもしれませんけども)

この件ですが、検索フォルダ一覧時には、うまく検索条件に
SUBJECTがセットされないみたいです。
できれば通常フォルダと同じ動作の方が嬉しいです。

アドレス帳の検索条件は、ご教示いただいた修正を試して
みます。

以上、よろしくお願いします。


[ ]
RE:03769 【確認】各検索ダイアログの検索No.03779
おひ さん 11/06/22 02:35
 
おひと申します.

早速のご対応ありがとうございます.
# マクロ対応かなぁと思ってましたが,取り込んでいただき
# ありがとうございます.

自宅で今ちょっと試した感じでは問題なさそうなので明日会社で
試してみます.(会社では久々のβ利用)

取り急ぎですが,ありがとうございました.

[ ]
RE:03773 【確認】各検索ダイアログの検索No.03780
秀まるお さん 11/06/22 10:56
 
> この件ですが、検索フォルダ一覧時には、うまく検索条件に
> SUBJECTがセットされないみたいです。

 すみません。テストしてみたら再現出来ました。バグのようです。

 さっそく修正させていただきます。

[ ]
RE:03780 【確認】各検索ダイアログの検索No.03781
TATE2 さん 11/06/22 12:55
 
TATEです。

ご確認ありがとうございました。
修正よろしくお願いします。


[ ]