読者です 読者をやめる 読者になる 読者になる

あらかじめ日記

2chまとめサイト「ソノウソホント?」の雑記と、ブログで使えるスクリプトとかテクニックとか。その他、音楽やアニメ、漫画の話題とかも。

まとめサイト「ソノウソホント?」と「ムードもりあげ楽団」はこちら。

【テキストエディタ】サクラエディタに入れてる便利なマクロ

アプリケーション プログラミング

前回サクラエディタについて書いたのでその続きでも。

その中で大体欲しい機能は揃ってる」とは書きましたが、実はそれでも個人的なかゆい所に手が届いていないところを、少しだけマクロを使って補っていますので紹介したいと思います。

 

選択した単語をダブルクリックなどでハイライトさせる

こちらの記事で紹介されているマクロです。

arigayas.exblog.jp


例えば文章の中で出てきた文字が、他のどこに出てくるか探したい場合、またどの辺りに点在しているのか見たい場合は、その文字を選択して、検索画面を開いて、検索、と言う流れになると思います。
ただ、この検索画面を出すことすら煩わしいので、もっと気軽に見たいと言う場合に非常に便利です。

特に、プログラムファイルなんかで「この変数がどこで使われているか」なんかを見たいときに非常にありがたさを感じますね。

編集中に不要になったファイルを削除する

秀丸エディタでは、ファイルの中身が空になった状態で保存すると「削除するかどうか」と聞かれて、そのファイルを削除することができます。

メモとして残しておいたファイルを開いて、確認後いらなくなった場合に削除したい(例えばブログ用にテキストファイルで書いておいた記事を、アップした後など)場合にあると嬉しい機能なのですが、サクラエディタには搭載されていません。

そこで、マクロなんかがないかと探してみたのですが、きちんと紹介しているようなところはなく、唯一見つけたのがここでの掲示板のやり取り

ただし、情報が2002年と古くそのまま参考にしてもエラーで動きません。
少し改変したのが以下です。

var
    filename:string;
    msgres:Integer;
begin
    filename := S_GetFilename();
    if filename <> nil then
    begin
        msgres := MessageBox('編集中のファイル ' + filename + ' を削除します。よろしいですか?' , 'ファイル削除' , $131 );

        if msgres = 1 then
        begin
            S_FileClose();
            S_ExecCommand( 'cmd /c del "' + filename + '"', 0 , '');
            S_WinClose();
        end
    end
end.

PPAマクロを使用しているので、動作させるためにはDLLを入れておいてください。
以下の公式ページを参考に、ダウンロードした中にあるPpa.dllサクラエディタのインストール先のフォルダ(通常は「Program Files」の「sakura」フォルダ)を入れておきます。

WSHマクロとPPAマクロ

上記を.ppaとして保存して、マクロ用のフォルダにおいてマクロ登録します。
この登録したマクロをツールバーのカスタマイズでボタンとしておいておくといい感じです。

あまりニーズはないのでしょうか、、個人的にはかなり重宝しています。
(特に保存したファイルをエディタの履歴から開いた場合は、そのファイルを削除したかったら、そのフォルダをいちいち開かないといけないですからね)



ちなみに、改変したところは

  • エラーとなっていたS_ExecCommandの引数追加
  • まだ保存されていないファイルの考慮
  • メッセージボックスのボタンをOK・キャンセルに
  • startで実行すると/cを指定しているのにDOS画面が残ったのでやめた(ただ一瞬DOS画面がちらつくのはご了承下さい。。)

※PPAマクロなんて馴染みがなかったので修正するのにちょっとてこずったので、だったらゼロからJavaScriptで書いた方が早かったな、と今更ながら記事を書いてて思いました。。