初めてのサクラエディタマクロ(JScript版導入編)


この記事は『ゆるっと Advent Calendar 2020』の24日目の記事です。

COBOL業界でよく見かけるサクラエディタ

現在生保関係の業務にいるが、金融と同じでこちらでもCOBOLはうじゃうじゃといてる。

今春から転勤となり、2社目の生保業界だが、どちらの業務でも存在していたのが「サクラエディタ」。

いつかはオープン系に…!と思っているが、まぁまだまだ動ける様子でもなさそうだし、せっかくの機会なのでサクラエディタのマクロについて勉強してみた。

サクラエディタ

国産のOSSのテキストエディタ。
リポジトリはGitHubにあり、結構活発に開発されている。

高機能で軽く、マクロも使えてしかも無料。AtomやVSCodeを開くまでもないけどメモ帳はちょっと…といったといったシチュエーションには多分うってつけ。個人的には結構好き。

おそらくCOBOL業界でよく見かけるエディタ。

ここでお話すること

  • マクロで使う言語
    • WSH(Windows Script Host)
  • Hello Worldから導入(キー割当て)まで
    • サクラエディタに標準で用意されているマクロ関数

マクロで使う言語

サクラエディタマクロでは、

  • キーマクロ(拡張子が .mac
  • PPAマクロ(拡張子が .ppa
  • WSHマクロ(拡張子が .vbs および .js

あたりが使えるみたい。
詳しくはサクラエディタHPを御覧ください。

今回は、 .js 拡張子のWSH(JScript)を使ってマクロ作成を進めていく。

WSH(Windows Script Host)

WSHとは、Windows上で簡易なコンピュータプログラムであるスクリプトを実行できるようにするソフトウェア。

WSHでは、Webブラウザなどに実装されていたJavaScript(ジャバスクリプト)のMicrosoft社独自実装である「JScript」(ジェイスクリプト)と、同社のWindows向け開発言語のVisual Basic(ビジュアルベーシック)の簡易版である「VBScript」(ブイビースクリプト)の二つのプログラミング言語(スクリプト言語)が標準で利用できる。

WSH(Windows Script Host)とは - IT用語辞典 e-Words

ちなみにJScriptは、Microsoft Docsには、MicrosoftによるECMA 262 規格仕様の言語 (ECMAScript Edition 3) とある。

サクッとJScriptの関数を使うなら、この記事がおすすめ。

すぐに使えるJScript関数集 - Qiita

Hello Worldから導入(キー割当て)まで

ここからが本題。

1. マクロを書く

サクラエディタに標準で用意されているマクロ関数は、サクラエディタHP及びヘルプから参照することができる。

今回は Hello World をダイアログで出したいだけなので、リファレンスから Editor.MessageBox(str, int); を使用する。

Sample.js
Editor.MessageBox("Hello World");

作成したマクロは、任意の場所に保存しておく(間違って消さない場所に保存すると良い)。

2. マクロをサクラエディタに登録する

キーに割り当てる前に、サクラエディタにマクロを登録する。

[設定]→[共通設定]の[マクロ]タブから以下を設定する。

最後に[設定]をクリックすれば…

こんな感じにマクロの登録が完了する。

3. マクロをキーに割り当てる

ここまででもマクロは実行できるが、いちいちメニューからマクロを選択しなくてはいけないので、せっかくならキーに割り当てると良い。
[設定]→[共通設定]の[キー割り当て]タブから以下を設定する。

最後に[割付]をクリックすれば…

これですべての準備が整った!

あとはマクロを実行するだけ

先程設定したキー(今回は Shift + F5)を押せば…

まとめ

JScriptはECMAScript規格に完全に準拠しているため、JavaScriptの使用経験があれば、気軽にサクラエディタのマクロを組めるのは、すごく大きいと思った。テキストエディタを使った決まった業務があるなら、マクロ化しちゃえば相当作業効率が上がると思った。

サクラエディタ使いの方で、まだマクロに手を出していない方は、この機会に是非!

閲覧、ありがとうございました。