====== ここで Grep マクロ ======
* New QX の Grep ダイアログは、検索対象にするフォルダを変更するのに、ひと手間かかります。
* その手間をはぶいて、現在開いているファイルがあるフォルダで Grep をかけるマクロを書いてみました。
* New QX の Grep ダイアログでは、サブフォルダも検索対象にするには、パス指定の末尾に「¥」(半角の Yen マーク)をつけます。
* このマクロでは検索対象のファイル種別を「*.*」としています。**ダイアログを表示しない** のでマクロ起動後に変更できません。
* Grep ダイアログにあるさまざまなオプションについては、「GrepDialog.InitializeVar」(このページ下部の「参考情報」を参照してください)の設定になります。
* Grep 実行時にオプションの指定が必要であれば、目的のオプションについての記述をマクロに追加します。
==== 使い方 ====
* 検索したい文字列をコピーしてクリップボードに入れておく。
* 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(サブフォルダも検索)マクロ ====
'カレントファイルのパスで 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 = ""