サクラエディタ実務ガイド
サクラエディタ マクロの使い方:5分で分かる記録・保存・登録とJS化
結論から言うと、同じキー操作を何度も繰り返すだけならキーマクロ、条件分岐や検索・置換を安定して使いたいならJS/VBSマクロが向いています。このページでは、最初の記録から登録、ショートカット割り当て、失敗しやすい検索処理の切り分けまで一気に確認できます。
更新日: 2026-07-13
先に結論:マクロは用途で3種類を使い分ける
サクラエディタ マクロは、録画のように操作を記録する方法と、マクロファイルを直接書く方法に分けると理解しやすくなります。毎回同じカーソル移動や挿入を行うなら記録型で十分です。一方、選択文字列を判定する、正規表現で置換する、外部コマンドを呼ぶ、といった処理はスクリプト型に分けたほうが保守しやすくなります。
| 目的 | 向いている形式 | 判断の目安 |
|---|---|---|
| 同じキー操作の繰り返し | .mac キーマクロ | 手順が固定で、条件分岐や複雑な文字列処理がない |
| 文字列の判定や整形 | .js WSH JScript | JavaScript風の文字列処理、正規表現、選択範囲処理を使いたい |
| Windows環境の簡単な連携 | .vbs WSH VBScript | 既存のVBScript資産やWindows管理スクリプトに寄せたい |
| メニューやキーから素早く実行 | 登録済みマクロ | よく使う処理を共通設定に登録し、キー割り当てする |
サクラエディタ マクロでできること
マクロは、手作業の編集手順を再利用するための仕組みです。公式ヘルプでは、キー操作を記録する方法に加えて、マクロファイルを直接記述すれば記録できない機能も使えると説明されています。つまり、最初は操作を記録して動きを確認し、うまくいった処理だけを保存・登録するのが安全です。
このサイトのオンライン正規表現テストや改行コード変換は、元テキストを壊さずにパターンを試す用途に向いています。サクラエディタ本体で大量ファイルや実ファイルを処理する前に、置換後の見え方、CRLF/LF、タブと空白の差を確認してからマクロに入れると、失敗したときの原因を切り分けやすくなります。
キーマクロを記録・保存・実行する基本手順
キーマクロは、短い繰り返し作業を素早く自動化する入口です。いきなり本番ファイルで記録せず、数行だけのテスト文書を作り、カーソル位置、選択範囲、改行コードを決めてから始めます。記録中にマウス操作や環境依存の位置指定を多用すると、別の文書で再現しにくくなります。
記録した直後は、同じファイルで一度だけ実行し、次に少し違うサンプルで試します。例えば行末に文字を追加するマクロなら、空行、末尾空白ありの行、最終行に改行がないケースを入れて確認します。動作が安定してから保存し、登録済みマクロに追加するのが実務では安全です。
- テスト用テキストを用意する本番データではなく、成功例と失敗しそうな行を混ぜた短いサンプルで始めます。
- 記録を開始して最小手順だけ実行するカーソル移動、選択、検索、置換など、再現したい操作だけに絞ります。
- 記録を終了してすぐ実行する同じ文書で確認した後、別サンプルでも同じ結果になるかを見ます。
- 名前を付けて保存し登録するよく使う処理だけ共通設定のマクロ一覧に登録し、必要ならキー割り当てします。
.mac・.js・.vbsの選び方
公式ヘルプでは、マクロは拡張子によって種類を判別して実行するとされています。.macはキーマクロ、.jsはWSHのJScript、.vbsはWSHのVBScriptとして扱われます。迷ったら、まず.macで記録して手順を確認し、条件分岐や文字列処理が必要になった段階で.jsへ移すのが自然です。
.jsや.vbsは便利ですが、サクラエディタ本体の状態、選択範囲、ファイルの文字コード、Windows側のスクリプト実行環境に影響されます。社内端末や共有PCではWSHの実行制限があることもあるため、配布するマクロは前提条件と戻し方を本文コメントに残しておくと保守しやすくなります。
| 形式 | 得意なこと | 注意点 |
|---|---|---|
| .mac | 記録したキー操作、定型挿入、短い整形 | 条件分岐や複雑な判定には向きにくい |
| .js | 選択文字列の加工、正規表現置換、繰り返し処理 | JScript/WSHの仕様とサクラエディタ関数の両方を確認する |
| .vbs | VBScriptに慣れた環境での簡単な自動化 | JavaScript例をそのまま流用できない |
| .ppa | PPAマクロを使う既存環境 | 新規作成なら現在の保守性を確認して選ぶ |
検索・置換をマクロ化する前の考え方
検索や置換は、マクロ化すると便利な一方で、対象範囲を間違えると大量の行を一度に変えてしまいます。先に検索条件を通常の検索・置換画面やオンライン正規表現テストで確認し、対象件数、前方一致・後方一致、改行を含むかどうかを見てからマクロに入れるのが安全です。
特に「選択範囲だけ処理する」「一致しない行だけ残す」「改行コードをまたいで置換する」処理は、キーマクロよりスクリプト化したほうが読み直しやすくなります。マクロ本文には、入力例、期待結果、対象外にしたいケースをコメントとして残してください。
// Example idea only: test the pattern before running it on real files
var text = Editor.GetSelectedString(0);
if (text !== "") {
// Keep the rule small and test it with sample text first.
Editor.InsText(text.replace(/old/g, "new"));
}
登録済みマクロとショートカット割り当て
頻繁に使うマクロは、ファイルとして保存しただけではなく、共通設定のマクロ一覧に登録すると扱いやすくなります。公式ヘルプでは、登録されたファイルが登録済みマクロメニューに表示され、マクロフォルダーやファイル名を指定できると説明されています。
ショートカットを割り当てる場合は、既存の編集操作と衝突しない組み合わせを選びます。チームで共有するなら、登録名、ファイル名、ショートカット、処理対象、戻し方を短いメモにしておくと、別PCへ移すときにも迷いません。
動かないときの切り分け表
マクロが動かないときは、コードを大きく書き換える前に、登録、拡張子、文字コード、選択範囲、実行環境を一つずつ分けて確認します。公式ヘルプでは、通常のマクロファイルはSJISとして読み込み、UTF-8 BOM付きならUTF-8として読み込む説明があります。日本語文字列を扱うマクロでは、この差が原因になることがあります。
また、登録済みマクロは別のマクロから使えないなど、メニュー操作とスクリプト実行では使える範囲が違うことがあります。うまく動かない処理は、まず最小のテキスト挿入だけに戻し、そこから検索、選択範囲、置換、外部コマンドの順に足していくと原因を見つけやすくなります。
| 症状 | 確認する場所 | よくある原因 |
|---|---|---|
| 登録したマクロが見つからない | 共通設定 > マクロ | マクロフォルダー、相対パス、ファイル名の指定ミス |
| 日本語が文字化けする | 保存時の文字コード | SJIS読み込みとUTF-8 BOMの違い |
| 検索結果が想定と違う | 検索条件と選択範囲 | 正規表現、大小文字、改行コード、対象範囲のズレ |
| JS/VBSだけ動かない | Windows側の実行環境 | WSH制限、拡張子の誤り、関数名の大文字小文字 |
本番ファイルで実行する前の安全確認
マクロを本番ファイルに使う前に、入力、対象範囲、保存先、戻し方を決めておきます。特に複数ファイルを開いているときや、Grep結果からファイルへ移動した直後は、現在アクティブなウィンドウが想定通りかを必ず確認してください。
おすすめは、処理前ファイルを別名保存し、同じフォルダーにテスト用コピーを置いてから実行する方法です。CSV、設定ファイル、ログのように見た目が似ているデータは、1行だけ変わったように見えても後工程で大きな差になることがあります。
また、マクロ名には動詞と対象を入れると事故を減らせます。たとえば cleanup-trailing-spaces.js、insert-header.mac、convert-tabs-to-spaces.js のように、何を変えるかが分かる名前にします。
よくある質問
よくある質問
サクラエディタ マクロは初心者でも使えますか?
はい。まずはキーマクロで短い操作を記録し、同じサンプルで実行するところから始めると安全です。条件分岐や文字列処理が必要になったらJS/VBSを検討します。
.macと.jsはどちらを選ぶべきですか?
固定のキー操作なら.mac、選択文字列の判定や正規表現置換を含むなら.jsが向いています。迷う場合は.macで動きを確認してから.js化します。
サクラエディタ マクロで検索や置換はできますか?
できます。ただし対象範囲や改行コードの違いで結果が変わりやすいため、先に短いサンプルで検索条件と置換結果を確認してください。
登録済みマクロにすると何が便利ですか?
メニューから選べるようになり、キー割り当てもしやすくなります。頻繁に使う処理だけ登録し、名前とファイルの場所を分かりやすくしておくと管理しやすくなります。
マクロが動かないときは何から確認しますか?
拡張子、登録パス、文字コード、選択範囲、WSHの実行制限を順に確認します。大きなマクロは最小のテキスト挿入に戻してから機能を足すと原因を見つけやすくなります。