5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

サクラエディタで1行目をファイル名としさらに日付もつけて保存する

Last updated at Posted at 2022-01-13

仕事でもプライベートでも、簡単にメモを取りたいときはやっぱりサクラエディタですよね。

でもいろんなメモを素早く保存したいとき、ファイル名をつけるのはいちいちめんどくないですか?
かといって保存せず(無題)のままPCがフリーズでもしたら、、、あー恐ろしい。

というわけで、Ctrl+S で新規ファイルの保存時に、以下をできるようにしました。

・「日付+1行目の文字列.txt」をファイル名として保存  

※ファイル名は保存時に変更可能です。
※1行目に文字列がない場合は「日付+Notitle.txt」に設定します。

上記実現のためにサクラエディタで使う機能は以下です。
マクロはどなたか(ありがとうございます)のネットの情報を参考にして加筆しました。
・マクロ
・キー割り当て

例えば、
サクラエディタで以下の内容でファイルを新規作成して、Ctrl + S を押すと、

タイトルてすとほげほげ

以下は本文だよ
aaa
bbb

以下のファイル名として保存できます。
新規ファイルの「名前を付けて保存」と同じ動作なので、保存前にファイル名は確認できます。

20220213_タイトルてすとほげほげ.txt

1. マクロファイル作成

auto_name.jsという名前(なんでもいい)でファイル名を作成
さくらのデフォルトのマクロ保存場所「C:\Users%USERNAME%\Appdata\Roaming\sakura\」に保存する
任意の場所に保存でもよい

// var pattern = /[\\\/:\*\?""<>\|\r\n]/g;
var pattern = /[\r\n]/g;
var pattern2 = /./g;
var EXT = '.txt';

Main();

function Main() {
  var WshShell = new ActiveXObject("WScript.Shell");
  var sLine    = GetLineStr(1).replace(pattern, "").replace(/\./g, '-');
  
  // 1行目に文字列がない場合はNoTitleを付ける
  if (sLine == "")
    var sLine = "NoTitle"

  if (Editor.GetFilename() != ''){
    FileSaveAs(Editor.GetFilename());
    return;
  }

  var sFileName = WshShell.CurrentDirectory
      + '\\'
      + getNow()
      + '_'
      + sLine
      + EXT;

  FileSaveAsDialog(sFileName);
}

function getNow(){
  var now=new Date();
  var y = now.getFullYear();
  var m = ("0"+(now.getMonth()+1)).slice(-2);
  var d =("0"+( now.getDate())).slice(-2);
  return y+m+d;
}

2. マクロの登録

「1行目をファイル名として保存」という名前でマクロとして登録する
(マクロの名前も何でもいい)

  1. メニュー > 設定 > 共通設定を開き、マクロを選択
  2. マクロ一覧で0番または空のマクロを選択(キャプチャは設定後の画面です)
  3. 作成した「auto_name.js」をFileで選択
  4. 「1行目をファイル名として保存」という名前で設定
  5. キャンセル確認待ち時間を0秒に設定する
  6. 設定ボタン押す
  7. OK押す
    サクラエディタマクロ.png

3. キー割り当て

上記で作成したマクロを、上書き保存の「Ctrl + S」に割り当てる

  1. メニュー > 設定 > 共通設定を開き、キー割り当てを選択
  2. 種別に外部マクロを選択
  3. 「1行目をファイル名として保存」のマクロ選択
  4. Ctrlにチェック
  5. Ctrl+Sを選択
  6. 割付でキーに割り当てる
  7. すでに割付があれば解除する
  8. OK押す

サクラエディタマクロ2.png

ファイル保存時にCtrl+Sを実行で確認

ファイル名の欄に自動で入力される
これでよければあとは保存を押すだけ

image.png

5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?