grepファイルだけを閉じるNo.11099
菊池 さん 02/01/25 10:43
 
こんにちは。

秀丸でたくさんのファイルを開いていて、そのうちの半分くらいが
grepファイル(grep検索結果)のときに、grepファイルだけを閉じて
しまいたいことがあります。
このようなとき、grepファイルだけを一気に閉じたいと思っている
のですが、何か良い方法はないでしょうか?

よろしくお願いします。

[ ]
RE:11099 grepファイルだけを閉じるNo.11103
ませま さん 02/01/25 15:50
 
菊池さんの
2002/01/25のメッセージ:
「hidesoft.2:11099| grepファイルだけを閉じる」 に返信
>秀丸でたくさんのファイルを開いていて、そのうちの半分くらいが
>grepファイル(grep検索結果)のときに、grepファイルだけを閉じて
>しまいたいことがあります。
>このようなとき、grepファイルだけを一気に閉じたいと思っている
>のですが、何か良い方法はないでしょうか?

マクロを使えば出来ると思うけど,ややこしいことになると
思います.参考になるかわからないけど,僕はこんなときに
CraftLaunch というランチャを利用しています.

CraftLaunch というのはコマンド式のランチャで,自分で
いろんな命令を定義できます.
これを使って CloseGrep というコマンドを次のように定義します.

Name: CloseGrep
Link: &WinMessageAll
Arg : grep, , 16, 0, 0

定義したら CraftLaunch を起動して

CloseGrep

と入力したらタイトルに "grep" という文字を含む窓が全部 CLOSE
します.面倒に見えるけど,入力は自動補完されるので実際のキー入力は

CraftLaunch 起動ホットキー →  c  →  Return

くらいです.CL で始まる他のコマンドを定義しているときは,
CLO まで入力しないとダメです.これすら面倒なほど頻繁に使うなら
秀丸マクロの run コマンドとかで CraftLaunch に CloseGrep を送信
すれば「ボタン一発 grep 消去マクロ」が完成します.

例) run "c:\\bin\\clnch.exe /ex CloseGrep";
    endmacro;

CraftLaunch はレジストリも使わないソフトなので,どうしても
他にうまい方法がないようなら試してみるといいと思います.

入手先: http://hp.vector.co.jp/authors/VA012411/


(補足)
Name: CloseAll
Link: &WinMessageAll
Arg : %arg, , 16, 0, 0

というコマンドを作っておけば引数を使ってどんな窓も 一括 CLOSE
が可能です.この場合は

CloseAll;grep

としたらいいです.また,CraftLaunch は普通にアプリケーションの
起動もできます(^^;

[ ]
RE:11099 grepファイルだけを閉じるNo.11104
山紫水明 さん 02/01/25 15:58
 
 菊池さん,こんにちは。

》このようなとき、grepファイルだけを一気に閉じたいと思っている
》のですが、何か良い方法はないでしょうか?

 次のようなマクロではいかがでしょう。

//-------------------------------------------------//
//グレップ結果ウィンドウをまとめて閉じる
#handle1 = hidemaruhandle( 0 );
nexthidemaru;
while( 1 ) {
    #handle2 = hidemaruhandle( 0 );
    if( hidemaruhandle( 0 ) == #handle1 ) break;
    if( filetype == "grep" ) #grep = 1;
    else #grep = 0;
    nexthidemaru;
    if( #grep ) closehidemaru #handle2;
}
if( filetype == "grep" ) quit;
endmacro;
//-------------------------------------------------//

     では, (^^)/~
                                        山紫水明

[ ]
RE:11104 ありがとうございましたNo.11105
菊池 さん 02/01/25 17:11
 
山紫水明さん、こんにちは。

> 次のようなマクロではいかがでしょう。
> (略)

いやぁ、もう素晴らしいです。
望んでいたとおりのモノです。
どうもありがとうございました。

10行程度のマクロですが、これは簡単な部類に入るのでしょうか?
秀丸のマクロヘルプを読みながら作ろうとはするものの、なかなか
望み通りのモノが作れないのですが、マクロヘルプを読むだけで、
作れるようなモノなのでしょうか?

[ ]
RE:11103 ありがとうございましたNo.11106
菊池 さん 02/01/25 17:18
 
ませまさん、こんにちは。

>マクロを使えば出来ると思うけど,ややこしいことになると
>思います.参考になるかわからないけど,僕はこんなときに
>CraftLaunch というランチャを利用しています.
>(略)

どうもありがとうございます。

ただ、せっかく教えていただいたのに、こちらの勉強不足で、
書いてあることの意味がよく解っていません。ごめんなさい。

ませまさんには申し訳ありませんが、山紫水明さんが提供して
くれたマクロで、私の望むことが実現できるので、そちらを
利用させていただくことにしました。

ありがとうございました。

[ ]
RE:11105 ありがとうございましたNo.11109
山紫水明 さん 02/01/25 19:49
 
 菊池さん,こんばんは。

》10行程度のマクロですが、これは簡単な部類に入るのでしょうか?

 この質問は「簡単な部類には入」らないですね。(^^;
 何を以て簡単というか,なんて考え始めたら,なかなか難しいことに。
 数十行〜数百行のマクロに比べたら,簡単といえることはいえると思いますが。

 ついでに,前のマクロの5行目の
    if( hidemaruhandle( 0 ) == #handle1 ) break;

    if( #handle1 == #handle2 ) break;

とした方が少しスッキリします。やっていることは同じですが。

》秀丸のマクロヘルプを読みながら作ろうとはするものの、なかなか
》望み通りのモノが作れないのですが、マクロヘルプを読むだけで、
》作れるようなモノなのでしょうか?

 人のつくったマクロをヘルプを参照しながら見て,こういうところはこういう
処理をするのかなどと考えながら,慣れていく以外ないでしょうね。
 自分でつくってみてなかなかうまくいかないときは,マクロ会議室で質問する
のもいいことだと思います。

     では, (^^)/~
                                        山紫水明

[ ]
RE:11109 Grep の結果を閉じるNo.11110
山紫水明 さん 02/01/25 20:32
 
 追伸です。
 今日夕方リリースされたばかりのVer3.14β6 では新しい関数が加わりましたの
で,次のように簡潔でしかも高速で処理できるようになりました。

//------ CloseGrepWin.mac -------------------------------------------//
//グレップ結果ウィンドウをまとめて閉じる
#c = hidemarucount - 1;
while( #c ) {
    if( filetype( #c )== "grep" ) closehidemaru hidemaruhandle( #c );
    #c = #c - 1;
}
if( filetype == "grep" ) quit;
endmacro;
//------------------------------------------------------------------//

     では, (^^)/~
                                        山紫水明

[ ]
RE:11106 ありがとうございましたNo.11111
ませま さん 02/01/25 20:47
 
菊池さんの
2002/01/25のメッセージ:
「hidesoft.2:11106| RE 11103 ありがとうございました」 に返信
>ただ、せっかく教えていただいたのに、こちらの勉強不足で、
>書いてあることの意味がよく解っていません。ごめんなさい。
>
>ませまさんには申し訳ありませんが、山紫水明さんが提供して
>くれたマクロで、私の望むことが実現できるので、そちらを
>利用させていただくことにしました。

とんでもないです.気になさらないで下さい.

この掲示板の場合,多分どなたかがマクロを書くだろうと
予想してましたが,僕のやり方は grep 結果に限らず特定
の文字列を含むウィンドウを一括して閉じる場合にも応用
できるので,変化球として,参考までに記載したものです(^^)

掲示板の場合,ギャラリーの方もいるわけだし,いろいろ
方法が提出されると面白いと思います.


少し前の暗号化の時にも同じようなこといったけど,
質問もあったことだし,山紫水明さんのマクロは
「沢山ある GREP 結果を一括で閉じるマクロ」
とかして公開される意志はないでしょうか(^^; >山紫水明さん

そういえば,暗号化の方法についても沢山の方法が提案さ
れました.

[ ]
RE:11110 Grep の結果を閉じるNo.11113
ひろ さん 02/01/26 01:50
 
 山紫水明さん今日は、ひろです。
>     if( filetype( #c )== "grep" ) closehidemaru hidemaruhandle( #c );
 もうお気づきかと思いますが、
    if( filetype[#c] == "grep" ) closehidemaru hidemaruhandle( #c );
です。

[ ]
RE:11110 Grep の結果を閉じるNo.11115
菊池 さん 02/01/26 13:37
 
山紫水明さん、こんにちは。

> 今日夕方リリースされたばかりのVer3.14β6 では新しい関数が加わりましたの

Ver3.14β6 ???
どこから入手すればいいのでしょうか?
公開されていませんよね?

[ ]
RE:11115 Grep の結果を閉じるNo.11116
ひろ さん 02/01/26 14:04
 
 菊池さん今日は、ひろです。
> Ver3.14β6 ???
> どこから入手すればいいのでしょうか?
http://hide.maruo.co.jp/software/bin/hm314b6.exe

 なおベータについての情報は、turukame.3 で見られます。

[ ]
RE:11113 Grep の結果を閉じるNo.11122
山紫水明 さん 02/01/26 23:49
 
 ひろさん,こんばんは。

 フォローありがとうございます。

》    if( filetype[#c] == "grep" ) closehidemaru hidemaruhandle( #c );
》です。

 秀丸を2つ以上開いた状態で次のマクロを実行してみてください。

//-------------------//
message basename(1);
message basename[1];
message filename(1);
message filename[1];
message filetype(1);
message filetype[1];
endmacro;
//-------------------//

 これまで気づきませんでした。

     では, (^^)/~
                                        山紫水明

[ ]
RE:11111 ありがとうございましたNo.11124
山紫水明 さん 02/01/27 11:04
 
 ませまさん,こんにちは。

》質問もあったことだし,山紫水明さんのマクロは
》「沢山ある GREP 結果を一括で閉じるマクロ」
》とかして公開される意志はないでしょうか(^^; >山紫水明さん

 ご推奨恐れ入ります。
 これだけでというのも気がひけますので,すでに登録している Grep
結果のカラー表示マクロとセットにでもしようかなと思います。

     では, (^^)/~
                                        山紫水明

[ ]
RE:11122 Grep の結果を閉じるNo.11128
ひろ さん 02/01/27 16:01
 
 山紫水明さん今日は、ひろです。
>  秀丸を2つ以上開いた状態で次のマクロを実行してみてください。
>
> //-------------------//
> message basename(1);
 どれも「()」でも出来るんですね。失礼しました。

[ ]
RE:11122 Grep の結果を閉じるNo.11129
ひろ さん 02/01/27 19:42
 
 山紫水明さん今日は、ひろです。
> message basename(1);
 動くから良いかと思ったのですが、ヘルプにないイレギュラーな方法は、
今後も動くという保証がないので、やはり止めておいたほうが良いと思いま
す。公開を考えている場合は特に。

[ ]
RE:11129 Grep の結果を閉じるNo.11132
山紫水明 さん 02/01/27 22:38
 
 ひろさん,こんばんは。

》 動くから良いかと思ったのですが、ヘルプにないイレギュラーな方法は、
》今後も動くという保証がないので、やはり止めておいたほうが良いと思いま
》す。公開を考えている場合は特に。

 うーっ,もうアップしてしまいました。
 hidemaruhandle が( ) をつけるし,( ) で動くので,これでいいと思いこんで
いました。改めてヘルプをよくよくみると,確かに隠し機能ということで[] をつ
けると書いてありますね。でも,思いこみというのは恐いものです。
 アップしたものは,今後,バージョンアップするときにでも修正していきたい
と思います。当面は動かなくなるということはないでしょう。
 どうもありがとうございました。

     では, (^^)/~
                                        山紫水明

[ ]
RE:11124 ありがとうございましたNo.11137
ませま さん 02/01/28 20:37
 
> これだけでというのも気がひけますので,すでに登録している Grep
>結果のカラー表示マクロとセットにでもしようかなと思います。
無理いってしまって,申し訳ないです.

小さいマクロでも,初心者にとって開発は困難なので
どこかにアップされていたら便利と思いますが,
ライブラリが巨大化すると,欲しいマクロを探す手間が
増えるというデメリットも生じるわけで,難しいです.

今回のように,ここの掲示板だけにしかないような幻の
小型マクロなどは,もったいないから,自分のホームページで
カテゴリ別のマクロデータベースにまとめようと思ったけど,
ライブラリを数えたら既に200個以上あったので,
どうやら無理そうです(^^;

[ ]