検索の対象選択についてNo.05017
8008tanaka さん 19/04/09 16:19
 
検索の対象は前回検索で使用した対象が選択されますが
受信フォルダで検索ボタンを押したときの初期選択は差出人
送信済フォルダで検索ボタンを押したときの初期選択は宛先になるように
設定できないでしょうか

[ ]
RE:05017 検索の対象選択についてNo.05020
秀まるお2 さん 19/04/09 18:24
 
 「検索 - 検索して一覧作成...」のダイアログボックスでの話だとしたら、すみま
せんがそこの初期値をいろいろカスタマイズって所までは無理があります。

 とりあえず、差出人を使って「検索して一覧作成」を実行する用のマクロと、宛先
を使って同じく検索させる用のマクロを作っておいて、それで検索するとかって作戦
はどうでしょうか。

 それか、「検索」メニューの「メールアドレス検索」を実行すると、受信系メール
なら差出人が自動で対象になり、送信系メールなら宛先が最初から入りますけども。

 マクロの例は、必要なら作ってお返事可能です。

[ ]
RE:05020 検索の対象選択についてNo.05035
8008tanaka さん 19/04/12 14:35
 
> 「検索 - 検索して一覧作成...」のダイアログボックスでの話だとしたら、すみ
>ませんがそこの初期値をいろいろカスタマイズって所までは無理があります。
> ......
> マクロの例は、必要なら作ってお返事可能です。
「メールアドレス検索」やってみましたが対象ヘッダにチェックを入れるようになっ
ていて、自動では切り替わらないようです。

[ ]
RE:05035 検索の対象選択についてNo.05036
秀まるお2 さん 19/04/12 16:06
 
 メールアドレス検索を実行した時に出てくるダイアログボックスの

  検索(S): [_____________________________]

 の欄に、現在選択してるメールの中のメールアドレスが自動で入るはずなんですが、
そのメールアドレスが、受信系メールの場合はFrom:のアドレス、送信系だとTo:のが
入るはずになってます。

 それで普通はそのままOKすると、すぐに目的の検索が出来るかなぁと思うのですが、
動作が違うのやら?

 とりあえず、マクロでやる例も一応書いてみました。このマクロは「検索して一覧
作成」で、検索対象を「簡略表示ヘッダ+本文」にて検索する例になります。対象を
もっと変えたり、メールアドレス検索相当で動作させたりといったことも出来るので、
もし要望があれば連絡ください。

------------マクロの例-----------------------------
    loaddll "tkinfo.dll";
    #n = dllfunc("GetMailFlag", "send");
    if( #n == 0 ) {
        //受信系メール
        $email = dllfuncstr("CurrentHeader", "From");
    } else {
        $email = dllfuncstr("CurrentHeader", "To");
    }
    $email = dllfuncstr("SetEmailOnly", $email);
    #n = dllfunc("AutoRestoreFindPack");
    $email = dllfuncstr("YenEncode", $email);
    #n = dllfunc("SetFindPack"
                , "(\"" + $email + "\", target=smallheaderbody,word), subfol
der=1, hilight=1"
                 );
    #n = dllfunc("StartDoGrep", "\\CurrentAccount", "");
    endmacro;


[ ]
RE:05036 検索の対象選択についてNo.05725
na311 さん 19/10/20 11:44
 
いつもお世話になっております。

上記やり取りの件、私の方でもうまく動作しないようです。

>現在選択してるメールの中のメールアドレスが自動で入るはずなんですが、その
>メールアドレスが、受信系メールの場合はFrom:のアドレス、送信系だとTo:のが入
>るはずになってます。

⇒メールアドレスは自動で入るのですが
 受信メール、送信済みメールどちらも固定になってしまいます。
 (受信でFromを選択したら送信済みでもFromのまま)

下記のように出来ないでしょうか。

"メールアドレス検索" 
受信フォルダでのメールアドレス検索は対象ヘッダを「From」、
送信済みフォルダでのメールアドレス検索は対象ヘッダを「To」と
フォルダごとでのメールアドレス検索条件を記憶したい  

また検索対象フォルダも記憶させたい。
デフォルトだと「現在アカウント」「受信+送信済み+ユーザーフォルダ」ですが、
それを「フォルダ」に固定したい。


※追加でもう1点教えていただけないでしょうか。
 上記、"メールアドレス検索"を行い、一覧にした後に
 「・」をクリックしてアイコン順に並べると
 基本的に添付ファイルがあるものと、添付が無いメール順に並ぶのですが
 添付ファイルあり→添付ファイル無し→添付ファイルありと
 順番通りにならない場合があります。
 (検索したメールアドレスは一人だけです)

お手数ですがご確認いただけると助かります。 

[ ]
RE:05725 検索の対象選択についてNo.05728
秀まるお2 さん 19/10/21 14:29
 
> ⇒メールアドレスは自動で入るのですが
>  受信メール、送信済みメールどちらも固定になってしまいます。
>  (受信でFromを選択したら送信済みでもFromのまま)

 「メールアドレス検索」コマンドを実行した時の、「検索(S):」の所にメールアド
レスは、

 − メール中にあるメールアドレスを選択した状態だと、そのメールアドレスが入
る。
 − 選択してない場合は、受信系メールならFrom:、送信系メールならTo:のアドレ
スが入る。

 という仕組みのようでして、こちらでテストした限りはそういう動作になるようで
した。なので例えば何もメールアドレスを選択しないで実行した場合には、受信系
メールか送信系メールかどうかでちゃんと切り替わるはずのようです。

 受信系メールなのにTo:のアドレスが入ることがあるとか、何かおかしいケースが
あるとしたら、例えばどういう条件でうまくいかないのか(逆に言うと、うまくいく
ケースとうまくいかないケースの違いは何か)の情報というか、いわゆる「再現の条
件」を教えて欲しいです。

 条件がよく分からないというか、例えば受信系メールでも絶対にTo:のアドレスが
入る動作しかしないとかってことがあるようでしたら、例えばこちらでdump.txtに詳
しいログを出力するようにしてみて、それでテストしてログを取ってもらう手もあり
ます。

> また検索対象フォルダも記憶させたい。
> デフォルトだと「現在アカウント」「受信+送信済み+ユーザーフォルダ」ですが、
> それを「フォルダ」に固定したい。

 本来ここの状態は、直前の検索系コマンドでの状態を引き継がないといけないです
が、なぜか「メールアドレス検索」の場合は状態の保存がうまくいってないようでし
た。とりあえずその点についてはバグなので修正させていただきます。

 それとは別に、しいてここの状態を固定したいとしたら、一応、マクロで実現が可
能です。マクロを使って実現する作戦を一回試してみて欲しいです。

 マクロ内容は、

    loaddll "tkinfo.dll";
    #n = dllfunc("SaveConfig", 0);
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    #sel = getregnum( "FindPersonSel");
    #sel = #sel & 0xFFFFFFFC;
    #sel = #sel + 2;
    writeregnum "FindPersonSel", #sel;
    closereg;
    #n = dllfunc("EnvChangedDanger", 1);
    #n = dllfunc("Bypass_PostMessage", hidemaruhandle(0), 0x111, 40138, 0);

 のようになります。例えば「マクロ・マクロ登録...」の「コマンド置き換え」の
所で、

 「40138,マクロ名」

 のような指定をすると、メニューから「メールアドレス検索」を実行して上記マク
ロを実行させることも可能になります。そういう作戦でどうでしょうか。

>  「・」をクリックしてアイコン順に並べると
>  基本的に添付ファイルがあるものと、添付が無いメール順に並ぶのですが
>  添付ファイルあり→添付ファイル無し→添付ファイルありと
>  順番通りにならない場合があります。

 アイコン順でソートした場合のルールですが、「全般的な設定・メール一覧・詳
細・もっと詳細2」の中の「アイコン順で並べる時の比較に使う条件」をいじるとあ
る程度好きな順序に出来ます。そこをいじってみて欲しいです。

 「添付ファイル付き」だけONにして他はOFFにするってことで、一応、添付ファイ
ルを最優先した並び順にはなると思います。

[ ]
RE:05728 検索の対象選択についてNo.05729
na311 さん 19/10/21 15:32
 
早速のご連絡ありがとうございます。

下記の件についてうまくいきました。
見逃しがあり、失礼しました。

> アイコン順でソートした場合のルールですが、「全般的な設定・メール一覧・詳
>細・もっと詳細2」の中の「アイコン順で並べる時の比較に使う条件」をいじるとあ
>る程度好きな順序に出来ます。そこをいじってみて欲しいです。
>
> 「添付ファイル付き」だけONにして他はOFFにするってことで、一応、添付ファイ
>ルを最優先した並び順にはなると思います。

またその他の点については説明が難しい内容がありますので
個別にメールを送らせていただきます。

[ ]
RE:05729 検索の対象選択についてNo.05731
秀まるお2 さん 19/10/23 08:49
 
 送っていただいたPowerPointのスライドショーを再生してみた所、たしかに受信系
メールでFrom:のメールアドレスが入り、送信系メールでTo:が入る、僕の想定とは逆
の動きをしてるように見えました。

 なぜそうなるのかちょっと分からないので、ソースコードでそうなる可能性につい
て調べてみます。少々お待ちください。

[ ]
RE:05731 検索の対象選択についてNo.05733
秀まるお2 さん 19/10/23 09:15
 
 最後コメントすみません。

 やっぱりこれは仕様通りでした。つまり、送信系メールの場合はTo:のメールアド
レスが入る動作になります。

 これをしいて、From:のアドレスが入るようにしたいという、「要望」ということ
ですよね。不具合報告じゃくて。

 そういう要望だとしたら、これまたマクロで対処する方法があるので、とりあえず
マクロでやるやり方をお返事させていただきます。少々お待ちください。

[ ]
RE:05733 検索の対象選択についてNo.05734
秀まるお2 さん 19/10/23 09:38
 
>  最後コメントすみません。

 「再度コメント」の間違いでした。

 で、マクロ作成してみました。送信系メールの場合でもFrom:のメールアドレスが
出た形で「メールアドレス検索」のダイアログボックスが出てきます。

 これでどうでしょうか。

 前回のマクロ内容(メールアドレス検索ダイアログの対象フォルダを「●フォル
ダ」にする内容)もそのまま入れてます。


    loaddll "tkinfo.dll";
    #n = dllfunc("SaveConfig", 0);
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";
    #sel = getregnum( "FindPersonSel");
    #sel = #sel & 0xFFFFFFFC;
    #sel = #sel + 2;
    writeregnum "FindPersonSel", #sel;
    closereg;
    #n = dllfunc("EnvChangedDanger", 1);

    #sendflag = dllfunc("GetMailFlag", "send");
    if( #sendflag != 0 ) {
        //送信系メールの場合はFrom:のメールアドレスを選択してから実行する。
        #headerview = dllfunc("HeaderView");
        if( #headerview == 0 ) {
            #n = dllfunc("SwitchHeaderView", 1);
        }
        #browsemode = browsemode;
        if( browsemode ) {
            browsemodeswitch;
        }
        $from = dllfuncstr("CurrentHeader", "From");
        $from = dllfuncstr("SetEmailOnly", $from);
        moveto 0, -9999;
        setcompatiblemode 0x00000200;
        searchdown $from, word, casesense;
        #pane = dllfunc("CurrentPane");
        if( #pane != 2 ) {
            #n = dllfunc("SelectPane", 2);
        }
    }
    #n = sendmessage(hidemaruhandle(0), 0x111, 40138, 0);
    if( #sendflag != 0 ) {
        if( #headerview == 0 ) {
            #n = dllfunc("SwitchHeaderView", 0);
        }
        if( #browsemode ) {
            if( browsemode == 0 ) {
                browsemodeswitch;
            }
        }
        if( #pane != 2 ) {
            #n = dllfunc("SelectPane", #pane);
        }
    }

[ ]
RE:05734 検索の対象選択についてNo.05740
秀まるお2 さん 19/10/25 08:55
 
 メールでいろいろやりとりしてて、期待されてると思わしきマクロを作ってみまし
た。

 これでどうでしょうか?

------------------------------------------------------------------------
//"PersonTarget"の意味:
// 対象ヘッダ - From:       1
//              Reply-To:   2
//              To:         4
//              Cc:         8
//              Bcc:        0x10
//              おおざっぱ: 0x20
//              キャッシュ: 0x40


    loaddll "tkinfo.dll";
    #n = dllfunc("SaveConfig", 0);
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";

    //検索対象フォルダを「フォルダ」にする。
    #sel = getregnum( "FindPersonSel");
    #sel = #sel & 0xFFFFFFFC;
    #sel = #sel + 2;
    writeregnum "FindPersonSel", #sel;

    //受信系メールの時は「From/To列表示用キャッシュ」にし、
    //送信系の場合は「To:」のみONで他はOFFとする。
    #sendflag = dllfunc("GetMailFlag", "send");
    #persontarget = getregnum("PersonTarget");
    if( #sendflag ) {
        #persontarget = (#persontarget & 0xFFFFFF80) + 4;       //To:のみON
    } else {
        #persontarget = (#persontarget & 0xFFFFFF80) + 0x40 + 4;        //キ
ャッシュから検索
    }
    writeregnum "PersonTarget", #persontarget;
    closereg;
    #n = dllfunc("EnvChangedDanger", 1);
    #n = dllfunc("Bypass_PostMessage", hidemaruhandle(0), 0x111, 40138, 0);
    endmacro;

[ ]
RE:05740 検索の対象選択についてNo.05745
na311 さん 19/10/25 15:28
 
お世話になります。

下記マクロで理想の動きになりました。
効率があがり大変助かりました。
ありがとうございます。

[ ]
RE:05745 検索の対象選択についてNo.06115
na311 さん 20/01/08 13:20
 
お世話になります。

以前、下記マクロをご教示いただき使用していたのですが
1点改良いただきたい点がありお手数ですがご確認をいただけないでしょうか。

【希望内容】
受信フォルダのメール一覧でのメールアドレス検索の際に下記マクロだと
・「From/To列表示用キャッシュから検索」にチェック
・検索対象フォルダの「フォルダ」にチェック

それを下記のように出来ないでしょうか。

・対象ヘッダの「From」にチェック
・検索対象フォルダの「現在アカウント」にチェック + 「受信+送信済み+ユー
ザーフォルダにチェック

送信済みメールフォルダのメール一覧での動作は問題無いです。

------------------------------------------------------------------------
//"PersonTarget"の意味:
// 対象ヘッダ - From:       1
//              Reply-To:   2
//              To:         4
//              Cc:         8
//              Bcc:        0x10
//              おおざっぱ: 0x20
//              キャッシュ: 0x40


    loaddll "tkinfo.dll";
    #n = dllfunc("SaveConfig", 0);
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";

    //検索対象フォルダを「フォルダ」にする。
    #sel = getregnum( "FindPersonSel");
    #sel = #sel & 0xFFFFFFFC;
    #sel = #sel + 2;
    writeregnum "FindPersonSel", #sel;

    //受信系メールの時は「From/To列表示用キャッシュ」にし、
    //送信系の場合は「To:」のみONで他はOFFとする。
    #sendflag = dllfunc("GetMailFlag", "send");
    #persontarget = getregnum("PersonTarget");
    if( #sendflag ) {
        #persontarget = (#persontarget & 0xFFFFFF80) + 4;       //To:のみON
    } else {
        #persontarget = (#persontarget & 0xFFFFFF80) + 0x40 + 4;        //キ
ャッシュから検索
    }
    writeregnum "PersonTarget", #persontarget;
    closereg;
    #n = dllfunc("EnvChangedDanger", 1);
    #n = dllfunc("Bypass_PostMessage", hidemaruhandle(0), 0x111, 40138, 0);
    endmacro;

[ ]
RE:06115 検索の対象選択についてNo.06116
秀まるお2 さん 20/01/08 15:39
 
 マクロ直してみました。

-------------------------------------------------------------------------------
//"PersonTarget"の意味:
// 対象ヘッダ - From:       1
//              Reply-To:   2
//              To:         4
//              Cc:         8
//              Bcc:        0x10
//              おおざっぱ: 0x20
//              キャッシュ: 0x40


    loaddll "tkinfo.dll";
    #n = dllfunc("SaveConfig", 0);
    openreg "CURRENTUSER", "Software\\Hidemaruo\\TuruKame\\Config";

    //検索対象フォルダの値
    #sel = getregnum( "FindPersonSel");

    //受信系メールの時は「From/To列表示用キャッシュ」にし、
    //送信系の場合は「To:」のみONで他はOFFとする。
    #sendflag = dllfunc("GetMailFlag", "send");
    #persontarget = getregnum("PersonTarget");
    if( #sendflag ) {
        //検索対象フォルダを「フォルダ」にする。
        #sel = (#sel & 0xFFFFFFFC) + 2;

        //To:のみON
        #persontarget = (#persontarget & 0xFFFFFF80) + 4;
    } else {
        //検索対象フォルダを「現在アカウント」 + 「受信+送信済み+ユーザー」
にする。
        #sel = (#sel & 0xFFFFFFFC) + 1;
        #sel = #sel | 4;

        //From:のみON
        #persontarget = (#persontarget & 0xFFFFFF80) + 1;
    }
    writeregnum "FindPersonSel", #sel;
    writeregnum "PersonTarget", #persontarget;
    closereg;
    #n = dllfunc("EnvChangedDanger", 1);
    #n = dllfunc("Bypass_PostMessage", hidemaruhandle(0), 0x111, 40138, 0);
    endmacro;

[ ]
RE:06116 検索の対象選択についてNo.06122
na311 さん 20/01/08 19:23
 
お世話になっております。

理想の動きになりました。
お忙しい中、ご対応ありがとうございました。

[ ]