■ QGREP ■

36 にジャンプ
No. 35投稿者: ittoku日付: 2001/04/14 10:01:57
題名 : 文字列の取得

 現在編集中の文章、選択した文字列を取得して検索する方法はありますか。
 
 例えば上の文章が、"D:/デスクトップ/GREPの使い方"にあったとして、"取得して"の部分を選択し、QGREPを起動すると、
 検索文字列 : 取得して
 検索ファイル名 : D:/デスクトップ/GREPの使い方
 
 という具合になり、後は検索開始ボタンを押すだけで作業が済むような感じです。

No. 36 (35へのコメント)投稿者: dk日付: 2001/04/14 14:20:13
題名 : Re:文字列の取得

> 現在編集中の文章、選択した文字列を取得して検索する方法はありますか。

em さんのページ
http://www.hoops.ne.jp/~morishita/
よりダウンロードできる基本操作拡張小物マクロ集のなかの機能に、
[ カレントファイルの位置で QGREP ]
というのがあります。
D:/デスクトップ/GREPの使い方 というのが、フォルダのことなら、
このマクロが最適だと思います。
やっぱり、"GREPの使い方" というファイル名なのかなあ。。。
あ、その前に、QGREP の相手としてQXエディタをお使いですよね。
そうじゃなかったら、上記の方法は使用できません (^_^;)

No. 37 (36へのコメント)投稿者: ittoku日付: 2001/04/14 22:04:59削除済 返信
題名 : Re^2:文字列の取得
No. 38 (36へのコメント)投稿者: ittoku日付: 2001/04/14 22:07:27
題名 : Re^2:文字列の取得

dkさん回答ありがとうございます。

>やっぱり、"GREPの使い方" というファイル名なのかなあ。。。
拡張子も入れればよかったですね、そうなんですファイル名です。
検索ファイル名にカレントファイルのパスを自動で取得して
くれないかなーと思うんです。

emさんのマクロをいただいたんですが、私の望むものとは違うようです。
それと、設定か何かがいけないのか、同一ファイルで2度マクロを起動しないと
カレントファイルのあるフォルダを取得してくれません。

1."D:/デスクトップ/GREPの使い方"というファイルを開き、
文字列を選択。マクロ実行。
2.GREPのダイアログ上部の検索文字列の部分には先ほどの文字列が入力されいるが、
DIR履歴には前回のパスのまま。
3.再度文字列選択、マクロ起動でDIR履歴にカレントファイルのフォルダが取得される。

といった具合です。dkさんの場合は一発でフォルダのパスを取得できるんですか?

No. 39 (38へのコメント)投稿者: かぶねこ HP日付: 2001/04/15 00:01:05
題名 : Re^3:文字列の取得

エディタはQXをお使いである、という場合にのみ有効ですが、
ひとつのファイルの中でのある単語の場所を一覧するのなら、
常駐リストの種別を「その他の一覧」にした上で、「ユーザ定義
文字列一覧(入力つき)」でその単語のある行の一覧を表示し、
その後キャンセルすると、一覧が常駐リストに転送されますので、
それを使うのが便利です。

この操作をマクロにした例がうちのサイトの「常駐リスト活用
マクロ」のなかにあります。

そうではなく QGrep で、というのもマクロでできるとは思いま
すが、まずは簡単なほうの方法を。

No. 41 (39へのコメント)投稿者: ittoku日付: 2001/04/15 09:00:26
題名 : Re^4:文字列の取得

かぶねこさん、emさんこんにちは。

まずは常駐リストのほうですが、かぶねこさんのマクロを以前使わせてもらっていたんですが、前後の文章も見たいので常駐リストだと幅が狭すぎて。。。幅を目いっぱい広げると、QGREPよりも見た目がすっきりしていて良いんですけどねぇ。常駐リストとカレントファイル間だけでジャンプしてくれるのも捨てがたい。。。

emさんはじめまして。
>検索を行うフォルダはその上にある「ディレクトリ」で指定します。そこは取得できてますよね?
勘違いしていたようです。フォルダは取得できています。すみません。

>検索ファイル名を現在のファイルのみにしたいということであれば、マクロに少し手を入れれば対応できると思います。
マクロには挑戦したことがあるんですが、さっぱりわからないんです。お暇なときで結構ですので、手を加えていただけないでしょうか。ぜひともよろしくお願いします。

No. 42 (41へのコメント)投稿者: かぶねこ HP日付: 2001/04/15 11:56:59
題名 : Re^5:文字列の取得

ittoku さん、こんにちは。

うちのサイトにも来ていただいた、あの ittoku さんでいらっしゃいましたか。
ちょっと確認しましたら、手持ちのマクロに「いま開いているファイルのフォル
ダで GREP」というのがありましたので、それをちょっとだけ改造したのを掲載
します。

'このファイルに対して Grep

proc main
dim ret, s$, path$
if @hwnd > 0 then
if @Select > 0 then
s$ = @TextSelect$ '選択文字列取得
else
'選択されていなければカーソルのある単語取得
s$ = @GetCursorWord3$(":#@.~-_!?\|")
end if
path$ = left$(@Pathname$, inrstr(@Pathname$, "\"))
end if
ret = shell("qgrep32.exe -!S -u -R -D" + path$ + " """ + s$ + """ " + @Filename$, 1)
if ret = 0 then
call msgbox("QGREP を起動できません", MB_OK)
end if
end proc

No. 43 (42へのコメント)投稿者: ittoku日付: 2001/04/15 13:55:09
題名 : Re^6:文字列の取得

かぶねこさん、ありがとうございます。
望んでいたとおりのものです。助かりました。できちゃうんですねー。
実は、一月ほど前から何とかならないものかといろいろやって見たんですけど
どうにもならなくて、恐る恐る質問してみたんです。
かぶねこさんにはお世話になりっぱなしですね。。。

>うちのサイトにも来ていただいた、あの ittoku さんでいらっしゃいましたか。
わかっちゃいましたか ? メールアドレスが変だったんでかえたんです。
で、表示名もこっちにしました。

dkさん、emさん、ありがとうございました。

No. 44 (43へのコメント)投稿者: 島田 HP日付: 2001/04/15 15:01:49
題名 : Re^7:文字列の取得

島田と申します。
ittoku さん、こんにちは。
解決したようで今さらナンですが、いちお、こういうソフトも公開してます。
http://hp.vector.co.jp/authors/VA017034/anyqg.html
ちょっと雑な作りなんで恐縮ですが、もしお気が向けばお試しを。

No. 46 (44へのコメント)投稿者: かぶねこ HP日付: 2001/04/15 19:00:11
題名 : Re^8:文字列の取得

島田さんはこのごろ、マクロじゃなくってアプリに
行っちゃうんですよね〜。すごいな〜。

No. 45 (43へのコメント)投稿者: かぶねこ HP日付: 2001/04/15 18:57:15
題名 : Re^7:文字列の取得

ittoku さん、こんにちは。

マクロ、うまく動いたようでよかったです。
貼りつけたらフォーマットがかなり変わってしまったので
心配したんですが、さすが araken さんのフォーラムなの
でそのへんはOKのようです。

今回は単語ひとついじっただけでできたので、こちらも楽
でした。こんなんで喜んでいただければしあわせです。

No. 40 (38へのコメント)投稿者: em HP日付: 2001/04/15 01:54:43
題名 : Re^3:文字列の取得

ふと覗いてみたら拙作マクロの紹介が。何やら不思議な縁を感じます ^^;
ittoku さん、はじめまして。

>2.GREPのダイアログ上部の検索文字列の部分には先ほどの文字列が入力されいるが、
> DIR履歴には前回のパスのまま。

えっと、QGREP の DIR履歴というのは「以前検索したことのあるフォルダ」
の名前が格納される場所であって、「これから検索したいフォルダ」では
ないと思うのですが。検索を行うフォルダはその上にある「ディレクトリ」
で指定します。そこは取得できてますよね?

検索ファイル名を現在のファイルのみにしたいということであれば、マク
ロに少し手を入れれば対応できると思います。これは、かぶねこさんが紹
介されている QGREP と QX のマクロを使う方法ですね。


ヘッダのみ表示
順番に表示(No. 36 から)


メールアドレスを表示するにはURLの後ろに &m=b25a54d8 をつけてください。
フォーラム一覧

http://www2k.biglobe.ne.jp/~araken/
http://0ban.com/araken/