サクラエディタで snakecase ⇔ camelcase

以前、Excel VBA で、Python で書いた snake case ⇔ camel case スクリプトで、
Excel 上に入力したものを変換する方法を書いた。
oboe2uran.hatenablog.com

でも、Python が入っていないPC環境では不可能なので他の方法で日常、すぐに使える方法はないかと
探していたら、サクラエディタに JSでマクロ登録する方法を見つけました。
【サクラエディタ】スネーク⇔キャメル変換するマクロ - Qiita
ありがたく使わせて頂き、御礼申し上げます。

以下のJSソースを用意します。(上記、掲載をそのままコピーさせていただきます。)
snakeToCamel.js

function converter(match, offset, string){
   var inp = match;
   if (/^[A-Z0-9]+$/.test(inp)){
      return inp.toLowerCase();
   }
  //スネークケースかどうか?アンダースコアがあるか?
   if (/_/.test(inp)){
      //スネーク→キャメル
      //全て小文字に
      inp = inp.toLowerCase();
      //区切り文字の後を大文字に
      inp = inp.replace(/(_|^)(.)/g, snakeToCamelConv);
      //先頭を小文字に
      inp = inp.charAt(0).toLowerCase() + inp.slice(1);
   }else{
      //キャメル→スネーク
      //大文字の前に「アンダースコア」を追加
      inp = inp.replace(/([A-Z])/g, camelToSnakeConv);
      //全て大文字に
      inp = inp.toUpperCase();
   }
   return inp;
}

function snakeToCamelConv(match, p1, p2, offset, string){
   return p2.toUpperCase();
}

function camelToSnakeConv(match, p1, offset, string){
   return '_' + p1;
}

//(INPUT)選択範囲を取得
var str = Editor.GetSelectedString(0);
//(PROCESS)スネークケース⇔キャメルケース
str = str.replace(/(\w+)/g, converter);
//(OUT)編集したテキストを設定
Editor.InsText(str);

サクラエディタの「共通設定」のマクロタブを開きます。
マクロ一覧の箇所が、マクロを読み込む場所になります。
f:id:posturan:20210218231053j:plain
用意したJSソースのフォルダをここで指定します。
デフォルトは、ユーザープロファイルの AppData¥Roaming¥sakura になっていると思います。
適当に macro とかフォルダを作ってそれを指定します。
「参照」ボタンで指定します。
f:id:posturan:20210218231124j:plain
下のファイルのプルダウンでマクロを書いたJSソースを指定します。
f:id:posturan:20210218231145j:plain

適当に名前を付けて「設定」を実行します。
f:id:posturan:20210218231159j:plain
番号のところに設定されたものが表示されて、OKで、準備完了です。
f:id:posturan:20210218231215j:plain

変換を実行するときは、対象を含むように範囲指定してから、
ツール → 登録済みマクロ で実行します。

f:id:posturan:20210218231230j:plain