0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Excelとサクラエディタで手軽にGrep自動化【VBAスクリプト付】

Last updated at Posted at 2025-05-18

1. はじめに

日々のログ確認やファイル検索でサクラエディタのGrepを多用しているのですが、
毎回キーワードを入力して実行するのが面倒…。
そこでExcelとVBAを使って、複数ワードでGrepを自動実行する仕組みを作ってみました!


2. 実現したこと

  • GrepキーワードをExcelに書いておく
  • 複数のキーワードを順番に自動検索
  • サクラエディタを起動して検索画面表示、連続実行
  • 一括検索の効率化

3. スクリプトの構成と使い方

  • Excelシートの準備

    • A列:キーワード
    • B1:検索対象フォルダ
    • C1:サクラエディタのパス(例:C:\Program Files\sakura\sakura.exe
  • コード

Sub RunGrep_ExecuteDirect()

    Dim row As Long
    Dim keyword As String
    Dim targetFolder As String
    Dim sakuraPath As String
    Dim command As String

    ' 設定をExcelから読み込む
    targetFolder = Range("B1").Value
    sakuraPath = Range("C1").Value
    
    row = 1
    Do While Trim(Cells(row, 1).Value) <> ""
        keyword = Cells(row, 1).Value

        ' サクラでGrep実行(ダイアログなし)
        command = """" & sakuraPath & """" & " -GREPMODE -GKEY=""" & keyword & _
                  """ -GFOLDER=""" & targetFolder & """ -GOPT=1 -GFILE="".*"" -GCODE=0"

        ' 実行(前面表示)
        Shell command, vbNormalFocus
        
        ' 少し待つ(連続実行のため)
        Application.Wait Now + TimeValue("0:00:02")

        row = row + 1
    Loop

End Sub

4. 応用・改善の余地

  • 結果をファイルに出力する場合は -GOUTPUT オプションの追加
  • 検索結果の取り込み → Excelに貼り付け or 解析も可能
  • 検索対象を特定の拡張子に絞るなども可(.log, .txtなど)

5. おわりに

本当は[自動検索 + 1ファイルに自動保存]が理想なので、
これからも昼休みの時間を使って改良していきます!!
手作業が多い人にとっては少し時短になるかと思います。
地味に検索が楽になるのでぜひ使ってみてください!


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?