マクロを保存するディレクトリは、「サクラエディタの 設定>共通設定 画面」のマクロタブで確認できる。 デフォルトは、C:\Users\XXXX\AppData\Roaming\sakura\ 。
通常は sakura.ini ファイルがそこにある。
ここにマクロファイルを作成する。
サクラエディタのマクロのヘルプは、Sakura Editor Macro のページを参照。
ヘルプでは関数名が「S_」で始まっているが VBS などの WSH マクロでは S_ はつけない。キーマクロや PPA マクロでは S_ が必要になる。今回は VBS マクロを使うので S_ は不要。
また、ReplaceAll などのコマンドは Editor.ReplaceAll と書くのが正しいのだが、Editor オブジェクトは省略可能になっている。
作ったマクロ (encode-html.vbs ) はこんな感じ。
' encode-html.vbs ' "&" を "&" に "<" を "<" に、">" を "> に全置換 ' 結果をクリップボードにコピーする。 ReplaceAll CStr("&"), CStr("&"), CLng(8) ReplaceAll CStr("<"), CStr("<"), CLng(8) ReplaceAll CStr(">"), CStr(">"), CLng(8) SelectAll Copy CancelMode '選択解除
pre 要素の中に入れるためなので、< と > だけでもいいが一応 & もエンコードしてする。
Blogger の編集画面に貼り付けるために作っているのでエンコードした内容はクリップボードに入れておく。
マクロは一回実行されるとキャッシュされるので、マクロの内容を編集しても Sakua エディタを再起動しないと反映されない。マクロを作っているときには 「マクロを実行するたびにファイルを読み直す」を設定しておくと便利。この設定はマクロ単位なので、設定するマクロを選択してからチェックボックスの値を変更して「設定」ボタンを押さないと反映されない。少しわかりにくいので要注意。
マクロが完成したら読み直しは不要なのでチェックを外す。
マクロができたら、先ほどの 共通設定画面のマクロタブで作ったマクロを登録しておく。
あとはこれで 「ツール>登録済みマクロ」 で実行できる。
共通設定画面のキー割り当てで [ctrl] + [Shift] +[0] とかに割り付けておくと簡単に呼び出せる。
マクロの最後に「Undo」を3回入れておくと置換前に戻せるので、エンコードした結果をクリップボードに入れて編集画面は変更なしにできそうだが、ReplaceAll で何も変更されなかったときにマクロ実行前の編集が Undo されてしまうのでそれは断念。
現在のテキストを新規画面にコピーしてからそこでエンコードという案もあるが、FileNew 後の Window 切り替え前に次のコマンドが実行されてしまうことがあり、新規画面にコピーする部分がうまくいかなかった。
0 件のコメント:
コメントを投稿