サクラエディタで自動保存のために苦手なマクロに挑戦?!1分間隔で自動保存されるためにかけた情熱


サクラエディタのバックアップの設定画面の様子です。

サクラエディタのバックアップの設定画面の様子です。

電源を押してもデータがそのまま消えないエディター、自動保存機能を活用する小技。消えない君やサクラエディタのマクロ機能を試す

サクラエディタで慣れないマクロを使った試みの続きになります。

サクラエディタのバージョン情報画面

サクラエディタのバージョン情報画面 Ver.2.3.0.0(Unicode版)単体配布版は2015年10月12日にリリースされました

保険として、上書きして消えないようにマクロを走らせるとその分ファイル数が増えてしまう

多くのエディターがある中で自動保存や自動バックアップ機能がついているアプリは複数あるようです。

これには前回の特集でも申しましたように

ファイル名を決めた上で保存してあること

これが大前提でした。

タイトルなしの状態から文章をある程度作って、書き加えたり削る中でだんだんとタイトルが決まるということはありませんか?

さて、そろそろ文章にふさわしいタイトルも考えてというタイミングで突然Windowsがクラッシュしたり、停電など起きたらどうでしょうか?

と今までの努力が泡というか電子の海に消えて呆然となるのは筆者だけ(でしょうか)?

サクラエディタには自動保存機能があると聞いた時に筆者をぜひお救いをマクロにお願いをします。

さらに、新規作成の時点でファイル名をつけ保存してさえすればの自動保存は最低1分の間隔で保存されることがわかったのです。

新規作成時にファイル名が保存されるが、作業をしないで閉じてしまうと無限に増えていく様子

新規作成時にファイル名が保存されるが、作業をしないで閉じてしまうと無限に増えていく様子

新規作成ボタンを押す度にどんどんファイルが増殖中ということに

新規作成をして、何も入力せずに、サクラエディタを落とします。またタスクバーからサクラエディタのアイコンを叩き新規作成をします。

その結果の様子が上の画面の状態です。こういうのをフォルダがごちゃごちゃになり、今度は探すのが大変になります。

最初は、これでちゃんと1分ごとに保存されて安心できると嬉しいかったのですが、毎回表示され弱ってしまいました。

サクラエディタのバックアップの案内表示の様子

サクラエディタのバックアップの案内表示の様子

サクラエディタを起動してしばらくするとこの画面が現れる度に逆に自動保存が目障りにさえ思いました。

自分の設定でチェックを入れただけのことです。筆者自らがまいた種の話ですし、アプリへのリスペクトを感じていない態度です。

ここまで読んで何を今さらと思われた方、低レベルですいません大変恐縮です。

筆者がエディターをほとんど使いこなすことなく今まで直書きしている時間が長くてここまでアタフタしております。

共通設定>編集>「ファイルダイアログの位置を指定」でちゃんと指定してあれば良かったようです。

終了時のフォルダとか、カレントフォルダを選択したところ、「ファイルが存在しないか書き込みができません」というエラーに何度も画面に出ます。

古いバージョンのサクラエディタに

さくらエディタのマクロ ~無題ばっかり!なんとかしたい!~

で書かれて用意してくださったauto-save-filename.jsのマクロは、古いバージョンでエラーが出たために最新版にしたらあっさり動くこともありました。

別のパソコンではバージョンに関係なく同様のファイルが存在しないか書き込みができませんがおきました。

今のところ、指定フォルダとしてユーザーフォルダのAppData¥Roaming¥sakuraで統一しています。これで少し落ち着いたところです。

サクラエディタはオープンソース系でこれからもバージョンアップされる上に商業利用も問題がないとは嬉しいことです。

マクロはマクロスに名前が少し似ていますが頼もしい存在だと感じます。あっちが立てばこっちが引っ込むというのも教訓となりました。

参考リンクなど

タブ型のエディターNARATERRYの様子

タブ型のエディターNANATERRYの様子

最初筆者は一時ファイルを作っておきBAK等の拡張子を自動で保存するエディターNANATERRYのようなエディターを落としては試してみました。

サクラエディタでどうにかして1分間隔の自動保存を成功させたいとムキになる筆者が最初につまづきました。

以下の様な感じです。

おそらくファイルを一時保存するところが問題で45行目のジャバスクリプトをにらめっこしても解決できませんでした。

おそらくファイルを一時保存するところが問題で45行目のジャバスクリプトをにらめっこしています

上の画像のように一度はbackup_unique_tab.jsのマクロを入れたものの、エラーがおきます。

45行目のエラーとは

// 無題タブかどうかチェック
if (Editor.GetFilename() != ”) return;

var untitled_dir = UNTITLED_PARENT_DIR || fso.buildPath(get_user_dir(), UNTITLED_DIR_NAME);

var save_index = -1;
if (fso.folderExists(untitled_dir)) {
// 若い添え字から順にファイルオープン可能か調べ、ファイルが存在しない
// orロックされてない添え字を取得

この太字の箇所のようでした。ファイルを開けられる状態ではない場合や、ファイルが存在しない場合という想像だけで筆者は終わっています。

「スタッフー!」と編集部にもマクロに強い編集者をお招きしたい次第です。