タイトル | : Re^2: VB6からブラウザ上のフォーカスの位置へ値を送るには? |
記事No | : 15666 |
投稿日 | : 2013/04/05(Fri) 16:27 |
投稿者 | : VBレスキュー(花ちゃん) |
> 教えていただいたDLLでも確認してみます。 私は、ID や パスワードの保存と登録用にVB2010 で作ってはいるのですが...。
VB6.0 での簡単な動作確認なら下記のようなかんじになるかと。 Command1 をクリックして、この掲示板の新規投稿画面の[なまえ]のところのテキストボックスを クリックして見て下さい。 (先のリンクのところのDLLをダウンロードして参照設定しておいて下さい)
Option Explicit
Private Myhwnd As Long '対象ウィンドウのハンドル Private SI As New SendInputV6.Class1
Private Sub Command1_Click() Myhwnd = SI.fGetForGrdWindow(1000) If Myhwnd <> 0 Then Call SI.fSetForGrdWindow(Myhwnd) Call SI.WaitTime(200) Call SetData("氏名", "タイトル")
Call SI.WaitTime(50) Call SI.KeyReSet Call SI.KeyDown(vbKeyTab) Call SI.KeyUp(vbKeyTab) Call SI.KeyStroke Call SetData("メッセージを" & vbCrLf & "書き込みました。", "") End If
End Sub
Private Sub SetData(ByVal myData1 As String, ByVal myData2 As String) Clipboard.Clear Clipboard.SetText myData1 Call SI.WaitTime(100) Call SI.KeyReSet Call SI.KeyDown(vbKeyControl) Call SI.KeyDown(vbKeyV) Call SI.KeyUp(vbKeyV) Call SI.KeyUp(vbKeyControl) Call SI.KeyDown(vbKeyTab) Call SI.KeyUp(vbKeyTab) Call SI.KeyStroke Call SI.WaitTime(100) If Len(myData2) > 0 Then Clipboard.Clear Clipboard.SetText myData2 Call SI.WaitTime(100) Call SI.KeyReSet Call SI.KeyDown(vbKeyControl) Call SI.KeyDown(vbKeyV) Call SI.KeyUp(vbKeyV) Call SI.KeyUp(vbKeyControl) Call SI.KeyDown(vbKeyTab) Call SI.KeyUp(vbKeyTab) Call SI.KeyStroke End If End Sub
尚、Do While objIE.Busy Or (objIE.ReadyState <> 4): Loop のような表示待ちは お勧めできるような方法ではありませんので、DocumentComplete イベントを使った方法に 変更して下さい。 http://hanatyan.sakura.ne.jp/patio/read.cgi?mode=view2&f=176&no=0
|