プロが教えるわが家の防犯対策術!

王次郎っす
お疲れさまです

秀丸エディタのマクロ関数を使用してファイルの内容を新規秀丸にコピーしたいです
クリップボードを使わずにコピーできる方法があったら教えてください


例えば、「memo.txt」というテキストファイルを開いた状態でマクロを実行した場合に
新規秀丸を作成し(newfile)、「memo.txt」の内容を新規秀丸にコピーしたいです。
クリップボードを使用すればできますが(copy⇒paste)、それだとクリップボードの内容が
消えてしまうのでクリップボードは使いたくないです。

よろしくお願いします

A 回答 (1件)

>クリップボードを使用すればできますが(copy⇒paste)、それだとクリップボードの内容が


>消えてしまうのでクリップボードは使いたくないです。

クリップボード履歴とか使っていると…履歴が汚れ(?)るんですよねぇ…
# disablehistory使えばいいみたいですな。
# マクロ実行前に現在のクリップボードの内容を変数に待避、disablehistoryで履歴を禁止してマクロ終了前に待避した内容をクリップボードに再設定…と。


さて、クリップボードを使わないで…となると1行ずつ地道にコピーしていくしかないんじゃないですかね?

gettext2()で1行分を変数に取得、
新規作成した秀丸をアクティブにしてinsertで貼り付け、insertreturnで改行を入れる。
で、元の秀丸をアクティブにして1行下に移動して、gettext2()で取得して…の繰り返し。

golineend使えば行末の位置は取得できるので
$line = gettext2(0,y,x,y);
とかで取れると思いますよ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!