テキストの1行目を自動的にファイル名にすNo.29383
いいじま さん 11/01/10 09:25
 
いつもお世話になっています。いいじまでございます。

さて、当方、自社ソフトウェアの修正記録を秀丸で書いているのですが、
面倒を感じていることがあります。

現在は、ログファイルの1行目に
20110110-WBlocker(英語メッセージ)修正記録
のように書いて、それを秀丸に拾ってもらって
「20110110-WBlocker(英語メッセージ)修正記録.txt」
といったファイル名で保存しています。

翌日にはその前日のファイルを開き、上記の日付を書き換えてファイル名も
それに合わせて変更して保存して、それから内容の加除に着手します。

これを手作業でやっていると上書きしそうで怖いので、開いた直後にマクロで
changefile ""; としてファイル名を無題にしてから、1行目の日付を書き換え、
それを秀丸に拾ってもらって新しい名前で保存しています。

ところがこのとき、保存先のファイル名を指定する画面で、
自動的には拡張子 .txt がつきません。
毎回、ファイルの種類のプルダウンで .txt を指定しています。

というわけで、前置きが長くなりましたが、ファイル名を無題にする際に、
ファイルタイプの情報を失わせないようにする、
あるいは特定の拡張子がつくように設定することはできないでしょうか。
マクロで1行目を取得して拡張子をつける、という方法はありますが、
何かスマートな方法があればご教授ください。

以上、よろしくお願いします。

[ ]
RE:29383 テキストの1行目を自動的にファNo.29385
秀丸担当 さん 11/01/11 10:24
 

>というわけで、前置きが長くなりましたが、ファイル名を無題にする際に、
>ファイルタイプの情報を失わせないようにする、
>あるいは特定の拡張子がつくように設定することはできないでしょうか。
>マクロで1行目を取得して拡張子をつける、という方法はありますが、
>何かスマートな方法があればご教授ください。

changename "";では、おっしゃる通り拡張子なしの扱いになって、自動で.txtが
付くようにはならないようです。changename文で無題で.txt扱いにするというこ
とはできないと思います。

マクロを使われるということで、その時点で
changename "20110110-WBlocker(英語メッセージ)修正記録.txt";
とするようにするといいかもしれません。

または、スマートといえるかわかりませんが、

  selectall;
  copy;
  closenew;
  paste;

とするとか、

  $f=filename;
  closenew;
  insertfile $f;

とするということも考えられるかもしれません。

[ ]
RE:29385 テキストの1行目を自動的にファNo.29386
いいじま さん 11/01/11 12:43
 
いいじまです。お返事ありがとうございます。

>>というわけで、前置きが長くなりましたが、ファイル名を無題にする際に、
>>ファイルタイプの情報を失わせないようにする、
>>あるいは特定の拡張子がつくように設定することはできないでしょうか。
>>マクロで1行目を取得して拡張子をつける、という方法はありますが、
>>何かスマートな方法があればご教授ください。
>
> changename "";では、おっしゃる通り拡張子なしの扱いになって、自動で.txtが
> 付くようにはならないようです。changename文で無題で.txt扱いにするというこ
> とはできないと思います。
>
> マクロを使われるということで、その時点で
> changename "20110110-WBlocker(英語メッセージ)修正記録.txt";
> とするようにするといいかもしれません。

これがよさそうですね。その方向で色々といじってみます。

#ファイル名に使えるのに保存の際に'_'になってしまう文字の処遇とか、
#そういう点でもうれしいです。

closenew を使う方法は、文字コードがShift_JISとUTF-8とISO-8859-1とで
混在していたりするので、それを引き継ぐのが大変かもしれないです。

[ ]