Here's the simple code to use SendKeys function effectively
to write to a notepad.
Sending text to another program
------------------------------------------------------------
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hWnd As Long, ByVal Msg As Long, wParam As Any, lParam As Any) As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As Long, ByVal hwndChildAfter As Long, ByVal lpszClass As String, ByVal lpszWindow As String) As Long
Const WM_SETTEXT = 12
Public Sub ToNotePad(x As String)
'assuming notepad is open
Dim h As Long, ed As Long, t As Long
h = FindWindow("Notepad", "Untitled - Notepad")
If (h <> 0) Then
ed = FindWindowEx(h, 0, "Edit", "")
If (ed <> 0) Then
SendMessage ed, WM_SETTEXT, ByVal 0, ByVal x
Else
MsgBox "Could not find notepad's edit"
End If
Else
MsgBox "Could not find notepad"
End If
End Sub
And for WordPad:
Public Sub ToWordPad(x As String)
'assuming wordpad is open
Dim h As Long, ed As Long, t As Long
h = FindWindow("WordPadClass", "Document - WordPad")
If (h <> 0) Then
ed = FindWindowEx(h, 0, "RichEdit20A", "")
If (ed <> 0) Then
SendMessage ed, WM_SETTEXT, ByVal 0, ByVal x
Else
MsgBox "Could not find wordpad's richedit"
End If
Else
MsgBox "Could not find wordpad"
End If
End Sub
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.