macro:grep-here

ここで 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 = ""
  • macro/grep-here.txt
  • Last modified: 2021/03/08 22:30