検索での前回キーワードの引き継ぎNo.09160
おひ さん 05/03/30 07:12
 
おひと申します.
いつもお世話になっております.

マクロで解決できることなのかもしれませんが,お恥ずかしながら自分
では対処できないので要望としてメールさせて頂きます.


ご要望は「検索時(検索して一覧作成も含む),"検索(S)"欄が空白とな
る場合は,前回の検索キーワードを引き継いで欲しい」という要望です.

使い方によると思いますが私の場合,同じキーワードで連続していくつ
かのフォルダを探し回ることが多いため,今の手順は面倒だなぁといつ
も思っていました.
#イヤ,そんな言うほどのものではないですが.(^^;

検索系はキーボードから起動しているので,「上記条件の時は1つ前の
キーワードをセットし検索起動」のようなことをマクロでできるなら話
が早いのかもしれませんが….
#スイマセン,マクロ書けないのです.m(_ _)m


もちろん「Alt+Space」の履歴や「検索やり直し」も使っていますし,
検索キーワードをマウス選択してからの検索起動などはとても便利で
私の中では大活躍です.(^^


以上,ご検討頂ければ幸いです.


P.S:
 話変わりますが,どうして検索画面の検索キーワードはいつも
 反転表示な仕様なのでしょうか?
 いまだに,アクティブな欄を見失った時に騙されます.
 #そこじゃないとわかっていながら,目が追っている….

[ ]
RE:09160 検索での前回キーワードの引き継No.09161
アルビレオ さん 05/03/30 08:51
 
鶴亀ユーザーのアルビレオです。

>使い方によると思いますが私の場合,同じキーワードで連続していくつ
>かのフォルダを探し回ることが多いため,今の手順は面倒だなぁといつ
>も思っていました.

一覧作成ではない普通の検索なら、下候補(F3)と上候補(Shift+F3)を使えば済む
話だと思いますが…

また検索ダイアログにはヒストリ機能があることは気づいてらっしゃるでしょう
か?
キーボードなら(Alt+S)で検索文字列にフォーカスを移して、(Alt+↓)で履歴が
表示されます。
まあ最初から表示されているよりは多少手間が必要ですけどね。

また、F3で次のフォルダに移動してから「検索して一覧作成」のダイアログを開
くとカーソル位置の文字列(いま検索した文字列)が入った状態になるので、事実
上おひさんが望んでいるのと同じことができます。
(正規表現検索では使えない方法ですが)

[ ]
RE:09161 検索での前回キーワードの引き継No.09162
おひ さん 05/03/30 10:33
 
アルビレオさん有難うございます.

> 一覧作成ではない普通の検索なら、下候補(F3)と上候補(Shift+F3)を使えば済む
> 話だと思いますが…
アルビレオさんのご指摘通り,普通の検索を使えば良い,というのは
まさにその通りなのです.(^^;
でもこれを一覧作成でやりたいという話でして….

なぜ普通の検索ではなく一覧作成なのかと言うと,直前に見ていたメー
ルを変更されるのがイヤだし,検索結果画面の方が何かと都合良いから
なのです.一覧作成であれば,メールの履歴戻り(Alt+←)一発で元の
メールに戻れますので.(ワガママでスイマセン)
これが便利で私の中では,検索=一覧作成という使い方になってしまっ
ています.もちろん普通の検索も使いますけど.

> また検索ダイアログにはヒストリ機能があることは気づいてらっしゃるでしょう
> か?
これは承知しております.Alt+↓ と Alt+Space を使っています.

> まあ最初から表示されているよりは多少手間が必要ですけどね。
申し訳ありません.この手間を惜しんでいるだけのつまらない話です.m(_ _)m

> また、F3で次のフォルダに移動してから「検索して一覧作成」のダイアログを開
> くとカーソル位置の文字列(いま検索した文字列)が入った状態になるので、事実
> 上おひさんが望んでいるのと同じことができます。
> (正規表現検索では使えない方法ですが)
申し訳ございません.「F3で次のフォルダに移動してから」の意味がち
ょっと理解できていないです.
F3 でフォルダを跨いでの検索ができるということでしょうか?
「カーソル位置の文字列が入った状態になる」は了解です.検索したい
キーワードが目の前にあれば使っています.

[ ]
RE:09162 検索での前回キーワードの引き継No.09163
秀まるお さん 05/03/30 14:38
 
 「検索」コマンドを実行して、下矢印キーを2回押してEnterキーを押して、
ってことをシミュレートできればいいですかね?

 だったら、こんなマクロで実現できます。

    loaddll "tkinfo.dll";
    #n = dllfunc("Bypass_PostMessage", hidemaruhandle(0)
                , 0x0111, 40013, 0 );
    #n = dllfunc("Bypass_keybd_event", 0x28 );
    #n = dllfunc("Bypass_keybd_event", 0x28 );
    #n = dllfunc("Bypass_keybd_event", 0x0D );

 「検索」コマンドを実行した時にもし「検索」欄に何も文字列が無ければって
ことをシミュレートするにはマクロでは難しいので、しいてやるとしたら、「フ
ォルダ枠を選択した状態ならば」って条件にしたらいいんじゃないかと思います。

 (フォルダ枠を選択した状態だと「検索」欄は空白になり、そうでない枠を選
択してる場合は何か文字列が入ると思う)

 だとしたら、

    loaddll "tkinfo.dll";
    #n = dllfunc("Bypass_PostMessage", hidemaruhandle(0)
                , 0x0111, 40013, 0 );
    if( dllfunc("CurrentPane") == 0 ) {
        #n = dllfunc("Bypass_keybd_event", 0x28 );
        #n = dllfunc("Bypass_keybd_event", 0x28 );
        #n = dllfunc("Bypass_keybd_event", 0x0D );
    }

 みたいになると思います。

 「検索して一覧作成」なら、コマンドコードは40013じゃなくて40066になりま
す。

[ ]
RE:09163 検索での前回キーワードの引き継No.09164
おひ さん 05/03/30 15:56
 
おひと申します.
いつもお世話になっております.


後述のマクロで希望通りの動きになりました.
大変有難うございました.m(_ _)m

#やっぱり鶴亀は便利だ〜

[ ]