|
>> 文さん今日は、ひろです。
>>> タイトル通りなんですが、印刷のオプションにファイル名がありますが、
>>> このサブオプションとして、「パス付き」を希望します。
>> 確かにあると便利ですよね。現時点では他の print tool を用いるか、
>>3389 からはじまる tree の応用で、macro の filename2 関数を用いるとい
>>う手がありますね。
>
> 私もそう考えたんですが、唯一の欠点が・・・。
> それは、行を挿入する結果、印刷時の行番号が実際と異なってしまう、ということ
>です。(私は行番号も印刷する設定にしています)
> それさえクリアできれば秀丸の対応を待たなくてもいいんですけどね〜
ひろさんのコメントはこう言う意味だと思います。
これでいけると思いますが ...
filename2 の \, /, : は全角ですが ...
//*1 *** Macro for 「秀丸エディタ」 ***
//*1 【マクロ名】 KZ_Print_DT2.mac - Ver. 03.00B - 1999/05/27
//*1 (C) Copyright ???
//*1 【作者】 番頭++
//*1 【機能】
//*1 ・ファイル名に日付、時刻を付加して一時的に変更後、印刷します。
//*1 ・" filename2 - yyyy.mm.dd - hh:mm " のようなファイル名となります。
//*1 ・" basename2 - yyyy.mm.dd - hh:mm " のようなファイル名となります。
//*1 ・当然、保存はしません、出来ません、です。
//*1 【注意】
// ・ファイル内容の転送は ClipBoard 経由で行っています。
// ・ファイルの容量が ClipBoard で処理できる容量を超えると、正常に処理できま
せん。
// ・マクロの終了時に、 ClipBoard をクリアしています。安全パイ ...
if( basename == "" ){ endmacro; } // 「無題」だとやめる !!!
disabledraw;
escape; // ボケ防止 ...
#x = x; #y = y;
$str_file1 = filename2;
gofiletop;
//B insert filename2 + " - " + date + " - " + time + "\n\n"; // 必要かな
2 !!!
selectall; copy;
//B undo; // 必要かな 2 !!!
//R gofiletop; deleteline; deleteline; // 自分で削除する ...
moveto 00, #y; //R moveto #x, #y; // 個人の趣味 ...
//R if( updated ){ save; } // 必要無いかも !!!
$wk1 = midstr("19,20",(!((val(leftstr(date,2)))<80)-1)*3,2); // yyyy
$wk1 = $wk1 + leftstr(date,2) + "." + midstr(date,3,2) + "." + midstr(d
ate,6,2);
call pp_filename2A filename2;
//T message $$return;
$wk1 = $$return + " - " + $wk1 + " - " + leftstr(time,5); // hh:mm -
":" <== invalid.
//R $wk1 = basename2 + " - " + $wk1 + " - " + leftstr(time,5); // hh:mm -
":" <== invalid.
//R $wk1 = basename2 + " - " + $wk1 + " - " + time; // hh:mm:ss
//T message $wk1; endmacro; // こんな、ファイル名です ...
openfile "/h " + $wk1;
selectall; delete; paste;
//R CHANGENAME; // ここで " Ver. xx.xx " のコメントとか入れるとか ...
//R if( ! result ){ endmacro; }
print; // 事前に印刷 (オプション) 、プリンタの設定が必要です。
setactivehidemaru hidemaruhandle(findhidemaru($str_file1));
closehidemaruforced hidemaruhandle(findhidemaru($wk1));
setclipboard ""; // ClipBoard クリア
endmacro;
pp_filename2A:
$$wk1 = $$1;
$$wk2 = "";
##i = 0;
while( ##i < strlen($$wk1) ){
##j = ascii(midstr($$wk1,##i,1));
if( ##j >= 0x80 && ##j <= 0x9F ){
$$wk2 = $$wk2 + midstr($$wk1,##i,2);
##i = ##i + 2;
} else {
if( ##j == '\\' || ##j == '/' ){
$$wk2 = $$wk2 + "¥";
} else if( ##j == ':' ){
$$wk2 = $$wk2 + ":";
} else {
$$wk2 = $$wk2 + midstr($$wk1,##i,1);
}
##i = ##i + 1;
}
}
return $$wk2;
// end of macro.
|
|