投稿日 | : 2005/01/07(Fri) 14:45 |
投稿者 | : 花ちゃん |
Eメール | : |
URL | : |
タイトル | : Re^4: IEへの文字列転送 |
> hhttp://www.bcap.co.jp/hanafusa/VBHLP/keybdeve.htm
上記のサンプルでは少し複雑なので下記を試して見て下さい。
Commandボタンを押してから3秒以内に書き込みたいテキストボックスを
クリックして見て下さい。
そのテキストボックスに[テスト書き込み]と書き込まれるはずですが。
Option Explicit
Private Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" (ByVal hwnd As Long, _
ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function timeGetTime Lib "winmm.dll" () As Long
Private Sub Command1_Click()
Dim AWhwnd As Long
Dim lpString As String * 255
Dim lngResult As Long
Dim Title As String
WaitTime 3000 '3秒後に実施
AWhwnd = GetForegroundWindow 'ハンドルを取得
'アクティブウインドウのタイトルを取得
lngResult = GetWindowText(AWhwnd, lpString, 255)
'取得したタイトルを表示
Title = Left$(lpString, InStr(lpString, vbNullChar) - 1)
AppActivate Title
WaitTime 100 'アクティブになる迄待つ
SendKeys "テスト書き込み", True
End Sub
Private Sub WaitTime(st As Long)
'指定の時間待つ(1/1000 秒単位で指定)
Dim lngSt As Long
lngSt = timeGetTime
Do While timeGetTime - lngSt < st
DoEvents
Loop
End Sub
上記コードは、動作を確認するためのコードで実用は色々問題があるので・・・
勉強用の教材という事でお願いします。