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