This is an old revision of the document!
ここで Grep マクロ
- New QX の Grep ダイアログは、検索対象にするフォルダを変更するのに、ひと手間かかります。
- その手間をはぶいて、現在開いているファイルがあるフォルダで Grep をかけるマクロを書いてみました。
- New QX の Grep ダイアログでは、サブフォルダも検索対象にするには、パス指定の末尾に「¥」(半角の Yen マーク)をつけます。
- このマクロでは検索対象のファイル種別を「*.*」としています。ダイアログを表示しない のでマクロ起動後に変更できません。
- Grep ダイアログにあるさまざまなオプションについては、「GrepDialog.InitializeVar」(このページ下部の「参考情報」を参照してください)の設定になります。
- Grep 実行時にオプションの指定が必要であれば、目的のオプションについての記述をマクロに追加します。
使い方
- 検索したい文字列をコピーしてクリップボードに入れておく。
- Grep をかけたいパス(フォルダ)にあるファイルを開いておく。
- マクロ実行。
- サブフォルダを検索対象とするかどうかで、マクロを使い分けます。
ここで Grep マクロ
function main GrepDialog.InitializeVar dim cropPos, fileFullName, filePath fileFullName = Application.ActiveDocument.FullName cropPos = InstrRev(fileFullName, "\") filePath = Left(fileFullName, cropPos-1) GrepExec Clipboard, filepath+" *.*" end function
マクロ本体(サブフォルダも検索)
'カレントファイルのパスで Grep (サブフォルダも) '検索文字列をあらかじめクリップボードにコピーして実行 function main GrepDialog.InitializeVar dim cropPos, fileFullName, filePath fileFullName = Application.ActiveDocument.FullName cropPos = InstrRev(fileFullName, "\") filePath = Left(fileFullName, cropPos) GrepExec Clipboard, filepath+" *.*" end function
参考情報
- New QX 本体に付属の newqx.txt の「▲GrepDialog.InitializeVarのサンプル」のセクションによると、「GrepDialog.InitializeVar」は次の設定を実行するようです。
- 「regexp」(正規表現)はオフになります。
- 各項目の説明は同じく newqx.txt の「▲GREP検索」のセクションにあります。
GrepDialog.IDDT_Grep_case = true GrepDialog.IDDT_Grep_aimai = false GrepDialog.IDDT_Grep_regexp = false GrepDialog.IDDT_Grep_longest = true GrepDialog.IDDT_Grep_skipSpace = false GrepDialog.IDDT_Grep_word = false GrepDialog.IDDT_Grep_noRegexp = true GrepDialog.IDDT_Grep_same1 = false GrepDialog.IDDT_Grep_color = true GrepDialog.IDDR_Grep_header_FOUND = true GrepDialog.IDDT_Grep_outputLine = true GrepDialog.IDDT_Grep_skipHiddenFile = true GrepDialog.IDDT_Grep_skipBinary = true GrepDialog.IDDT_Grep_skipBinaryExt = true GrepDialog.IDDT_Grep_skipExt = true GrepDialog.IDDE_Grep_skipExt = "" GrepDialog.IDDT_Grep_skipBackup = true GrepDialog.IDDT_Grep_skipDir = true GrepDialog.IDDE_Grep_skipDir = "" GrepDialog.IDDT_Grep_skipJunction = true GrepDialog.IDDT_Grep_sortWhole = false GrepDialog.IDDR_Grep_sort_FILENAME = true GrepDialog.IDDR_Grep_andor_NO = true GrepDialog.IDDR_Grep_output_QX = true GrepDialog.IDDP_Grep_maxMega = 10 GrepDialog.IDDE_Grep_WordChar = "" GrepDialog.IDDT_Grep_insertStr = false GrepDialog.IDDE_Grep_insertStr = ""