[ 新規に投稿する ]

クリップボードに高速設定No.09582
おすぎ さん 21/09/15 10:26 [ コメントを投稿する ]
お世話になっております。

ファイル内の文字列を記憶してクリップボードに設定するマクロを作りました。
setclipboard を使ってクリップボードに設定するのですが
例文のように message 文などを使って時間を置かないと(例では250ms)「設定漏れ」が生じてしまいます。
時間を置かずに高速で設定する方法ってあるのでしょうか?

gofiletop;
#num = #num + 1;
while(1){
searchdown "^.+?$", regular;
if(result!){
#nummax = #num - 1;
break;
}
$word[#num] = gettext(seltopx, seltopy, selendx, selendy);
moveto selendx, selendy;
#num = #num + 1;
}

#num = #nummax;
while(#num > 0){
#ret = message ("$word[" + str(#num) + "] = " + $word[#num], "記憶中!!", 0x00, 250, 1);
setclipboard $word[#num];
#num = #num - 1;
}
[ ]
RE:09582 クリップボードに高速設定No.09583
秀丸担当 さん 21/09/15 17:15 [ コメントを投稿する ]
 
クリップボードは、通常は、設定したその瞬間にすぐできるはずです。
できないとしたら何かしらの問題があると思うのですが、マクロの例では設定するだけのようで、具体的にどういう問題があるのかわかりませんでした。
貼り付ける処理も合わせた例があると、何かわかるかもしれません。

クリップボードを設定したときは他のアプリにも通知されるので、他のアプリの起動状態も手がかりになると思います。
コピーと同時に他のアプリがクリップボードを操作すると失敗する可能性もあります。

秀丸エディタ自身では、[その他]→[動作環境]→[常駐機能]のクリップボード履歴があります。
秀丸エディタ自身は、クリップボード履歴にちゃんと格納されたかを内部的にチェックしながら動作しているので、問題は確認できなかったのですが、[その他]→[動作環境]→[トラブル対策]→[その他のトラブル対策]→[クリップボードの監視に新しい方式(Clipboard Format Listener)を使う]のON/OFFを変更してみると変化がある可能性があります。

関係あるかわからないですが、最近のWindowsではネットを通じた同期の機能があるようで、これが有効になっているとうまくクリップボードの格納がうまくできないと思わしき事例がありました。
参考:
https://www.maruo.co.jp/hidesoft/3/x02567_.html

[ ]
RE:09583 クリップボードに高速設定No.09584
おすぎ さん 21/09/15 17:26 [ コメントを投稿する ]
  秀丸担当さま

ありがとうございます。

ご指摘の点をあたってみます。
[ ]

[ 新規に投稿する ]