ここで 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(サブフォルダも検索)マクロ
'カレントファイルのパスで 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
参考情報
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 = ""