他のアプリへ貼り付けるプログラムを作ろうと思い試行錯誤中です。
クリップボードを介して送る方法で行くことにしたのですが
メモ帳で試してもなかなかうまくいきません。
123
456
となる考えなのですが両方とも456になってしまいます。
何がいけないのでしょうか?ご教授願います。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
AppActivate("無題")
cliptext("123")
cliptext("456")
End Sub
Private Sub cliptext(ByVal sendtext As String)
My.Computer.Clipboard.Clear()
My.Computer.Clipboard.SetText(sendtext)
My.Computer.Keyboard.SendKeys("^v{down}")
End Sub
End Class
それでメモ帳がアクティブになってますか?
「無題 - メモ帳」とか
今回のはクリップボードを介しての貼り付けの動作テストが目的なので
あらかじめメモ帳は起動してあり、ちゃんとアクティブになってます。
{down}で次の行に移る仕組みなので改行も最初から用意してます。
貼り付けも1行だけならうまく行くのですが。試しにもう1行、
cliptext("789")をつけたら全部789になってしまいました…。
じゃぁ単にSendKey前に2周しちゃってるんではないかと
少しウエイト入れてみては?
sendkeys("^v{down}" , True)として結果を待つようにしたら
無事うまくいきました。
回答どうもありがとうございました。
| ツイート |
|