macro:grep-here

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
macro:grep-here [2021/03/08 18:33] – created kabunekomacro:grep-here [2021/03/08 22:30] (current) – [ここで Grep マクロ] kabuneko
Line 4: Line 4:
   * その手間をはぶいて、現在開いているファイルがあるフォルダで Grep をかけるマクロを書いてみました。   * その手間をはぶいて、現在開いているファイルがあるフォルダで Grep をかけるマクロを書いてみました。
   * New QX の Grep ダイアログでは、サブフォルダも検索対象にするには、パス指定の末尾に「¥」(半角の Yen マーク)をつけます。   * New QX の Grep ダイアログでは、サブフォルダも検索対象にするには、パス指定の末尾に「¥」(半角の Yen マーク)をつけます。
-  * このマクロでは検索対象のファイル種別を「*.*」としています。ダイアログを表示しないので変更できません。 +  * このマクロでは検索対象のファイル種別を「*.*」としています。**ダイアログを表示しない** のでマクロ起動後に変更できません。 
-  * Grep ダイアログにあるさまざまなオプションについては、何も設定していません。 +  * Grep ダイアログにあるさまざまなオプションについては、「GrepDialog.InitializeVar」(このページ下部の「参考情報」を参照してくださ)の設定になり。 
-  * Grep 実行時にオプションの指定が必要であれば、+  * Grep 実行時にオプションの指定が必要であれば、目的のオプションについての記述をマクロに追加します。
  
 ==== 使い方 ==== ==== 使い方 ====
Line 13: Line 13:
   * Grep をかけたいパス(フォルダ)にあるファイルを開いておく。   * Grep をかけたいパス(フォルダ)にあるファイルを開いておく。
   * マクロ実行。   * マクロ実行。
 +    * サブフォルダを検索対象とするかどうかで、マクロを使い分けます。検索パスの末尾の「¥」を入れるかどうか、それだけの違いです。
 +
 +==== ここで Grep マクロ ====
 +
 +<code vbscript>
 +'カレントファイルのパスで 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
 +</code>
 +
 +==== ここで Grep(サブフォルダも検索)マクロ ====
 +
 +<code vbscript>
 +'カレントファイルのパスで 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
 +</code>
 +
 +
 +==== 参考情報 ====
 +
 +  * New QX 本体に付属の newqx.txt の「▲GrepDialog.InitializeVarのサンプル」のセクションによると、「GrepDialog.InitializeVar」は次の設定を実行するようです。
 +  * 「regexp」(正規表現)はオフになります。
 +  * 各項目の説明は同じく newqx.txt の「▲GREP検索」のセクションにあります。
 +
 +<code>
 +        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 = ""
 +
 +</code>
  • macro/grep-here.1615195981.txt.gz
  • Last modified: 2021/03/08 18:33