映画とネットのDIARY(tDiary版)

since 2004/07/15
ここは古い日記です。2013年11月からadiaryを使った新サイトに移行しました。
検索エンジンからのアクセスで、お探しのキーワードが見あたらない場合はNamazuで再検索してみてください。
映画の感想一覧 2004年7月以降 2005年  2006年  2007年  2008年  2009年

2004年10月28日 [Thu]

自動で名前を付けて保存するマクロ

秀丸で編集中のファイルに名前を付けて保存するのが面倒な時、自動で名前を付けて保存するマクロを考えてみた。日付をファイル名にすることも考えたが、紙2001のようにファイルの先頭にある文字列(先頭から半角16文字。全角だと8文字)でファイル名を付けると、ファイルの内容が分かるので便利だろう。

//autosave.mac
$dir = "C:\\temp";
if(basename == ""){
  gofiletop;
  replacedown "\n","",regular;
  #result = result;
  selectline;
  $text = gettext(seltopx,seltopy,selendx,selendy);
  if(#result == 1){undo;}
  if($text == ""){
    message "このファイルには何も書かれていません。\n保存できません。";
    endmacro;
  }else{
  #text = strlen($text);
  if(#text % 2 != 0){
    $text ="1" + $text;}
  $basename = leftstr($text,16);
  $filename = $dir + "\\" + $basename + ".txt";
  saveas $filename;
  }
}
endmacro;

先頭から16バイトまでに半角と全角が混じった文章で半角が奇数個の場合、拡張子.txtの付いたファイル名が付けられない。具体的には“[MOVIE]「デビルマン」”というタイトルが1行目にあると、“[MOVIE]「デビルマン・txt”と、ピリオド“.”ではなく、全角のナカテン“・”が付いたファイル名になってしまう。[MOVIE]が7バイトなので、16バイト目の文字の半角分だけ取ろうとするからだ。仕方がないので、そういう場合は先頭に半角の1を付け加えて半角文字が偶数になるようにした。

一昨日書いたtDiary入力補助マクロの最初の部分に付け加えると吉か。ただし、日記によくあるリンクになっているタイトルの場合はファイル保存ができない。<<a href="http;//…なんていう文字列はファイル名には使えませんね。ここを改良する必要があります。

で、そういう場合は日付+時間をファイル名にすることにした(いい加減な対応)。結局、サブルーチンを入れて長くなってしまった。改良版はautosave.mac.txtを参照。

秀丸ホームページのマクロライブラリを見てみたら、同じ趣旨のマクロが既に登録してあった。名前を付けて保存マクロ改。やっぱりね。内容か日付かでファイルを保存するところまで同じ。ま、僕のマクロはtDiary用ということで。

「Justsystem PDF Creator」価格を改定し、11月26日(金)発売

従来の半値に近い6,800円になるそうだ。ダウンロード版はさらに安く、5,040円。PDF作成ソフトの価格が下がっているので当然の措置か。


[管理人にメールする] [シネマ1987online]