tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^2: VB6からブラウザ上のフォーカスの位置へ値を送るには?
投稿日: 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

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。