投稿時間: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
上記コードは、動作を確認するためのコードで実用は色々問題があるので・・・ 勉強用の教材という事でお願いします。
|