マクロ実行後の貼り付けについてNo.09283
kazu-ma さん 21/01/13 15:26
 
お世話になります。

秀丸エディタのマクロで copy 文を実行する場合、マクロ実行後の「貼り付け」で貼
り付ける内容をマクロ実行前に戻す方法を教えていただけないでしょうか。

以下のような copy / poppaste 文を使用するマクロで試したのですが上手くいかず、
マクロ実行直後に手動でもう一度貼り付けを行うと再度全文が貼り付けられます。

selectall;
copy;
poppaste;

poppaste 文は「貼り付け+履歴戻し」とあったので全文は破棄されているものと思っ
ていましたが、どうも違うようで上手くいきません。

OS:Windows10 64bit / 秀丸エディタ v8.95 64ビット版

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

[ ]
RE:09283 マクロ実行後の貼り付けについてNo.09284
秀丸担当 さん 21/01/13 16:43
 

「貼り付け+履歴戻し」のpoppasteは、貼り付けて、履歴を戻すため、クリップボー
ドの内容は貼り付けたものと同じになります。
getcliphistという文があって、これでクリップボードの内容を履歴の先頭に合わせ
ることができます。
getcliphist 0;
とするとできると思います。

[ ]
RE:09284 マクロ実行後の貼り付けについてNo.09285
kazu-ma さん 21/01/13 17:33
 
お世話になります。

教えていただいた getcliphist 0; で元に戻すことができました。
ありがとうございました。

ちなみに、poppaste 文が戻す「履歴」と言うのはクリップボード履歴のことになり
ますか?
また、クリップボードの内容とクリップボード履歴ダイアログに表示される内容は一
致しないケースもある、という認識で合っていますでしょうか?
(copy 文実行直後はクリップボードの内容とクリップボード履歴1の内容が合致し、
poppaste 文実行直後は異なる?)。

[ ]
RE:09285 マクロ実行後の貼り付けについてNo.09286
秀丸担当 さん 21/01/13 17:55
 

poppaste文の履歴とは、クリップボード履歴のことです。
poppaste文の場合はクリップボード履歴1の内容と一致しないことになってしまい、
そういうことがありえます。
マクロヘルプにも追記して、getcliphist 0;のことも書いておこうと思います。

[ ]
RE:09286 マクロ実行後の貼り付けについてNo.09287
kazu-ma さん 21/01/13 18:08
 
お世話になります。

よくわかりました。
どうもありがとうございました。

[ ]