Hallo Martoeng,
wie ich geschrieben habe, dass dient dem Verständnis. Dass was ich dann tun will geht mit Excel nicht.
... ich glaube, ich bin einen Schritt weiter. Am Ende vom Makro copy_excel4
ein DoEvents.
Hier der komplette Entwicklungsstand.
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
ByVal bScan As Byte, ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)
Const KEYEVENTF_KEYUP = &H2
Public Ergebnis
Sub bearbeiten4()
copy_excel4 'in Excel kopieren
oeffne4_NT 'Notepad öffnen
paste_notepad4 'in Notepad einfügen
replace_notepad4_NT 'in Notepad ersetzen
copy_excel4 'in Notepad kopieren - Tastenkombination Kopieren in Excel = Notepad
schliesse4 'Notepad schliessen
paste_notepad4 'in Excel einfügen - Tastenkombination Einfügen in Excel = Notepad
End Sub
Sub copy_excel4()
keybd_event vbKeyControl, 0, 0, 0 'STRG-C für Kopieren,
keybd_event vbKeyC, 0, 0, 0 'im Notepad muss ggf. vorher alles markiert werden !
keybd_event vbKeyC, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
DoEvents
End Sub
Sub paste_notepad4()
keybd_event vbKeyControl, 0, 0, 0 'STRG-V für Einfügen
keybd_event vbKeyV, 0, 0, 0
keybd_event vbKeyV, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
End Sub
Sub replace_notepad4_NT()
keybd_event vbKeyMenu, 0, 0, 0
keybd_event vbKeyS, 0, 0, 0 'Alt-S für Suchen - in XP Alt-H !
keybd_event vbKeyS, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyMenu, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyE, 0, 0, 0 'E für Ersetzen
keybd_event vbKeyE, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyC, 0, 0, 0 'kleines c, für großes c vorher shift betätigen
keybd_event vbKeyC, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyTab, 0, 0, 0
keybd_event vbKeyTab, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyA, 0, 0, 0 'kleines a, für großes a vorher shift betätigen
keybd_event vbKeyA, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyMenu, 0, 0, 0
keybd_event vbKeyL, 0, 0, 0 'Alt-L für alles ersetzen
keybd_event vbKeyL, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyF4, 0, 0, 0 'Alt-F4 für Ersetzen-Fenster schließen
keybd_event vbKeyF4, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyMenu, 0, KEYEVENTF_KEYUP, 0
End Sub
Sub oeffne4_NT()
Ergebnis = Shell("C:\WINnt\notepad.EXE", 3)
End Sub
Sub oeffne4_XP()
Ergebnis = Shell("C:\WINDOWS\notepad.EXE", 3)
End Sub
Sub schliesse4()
keybd_event vbKeyMenu, 0, 0, 0
keybd_event vbKeyF4, 0, 0, 0 'Alt-F4 für Ersetzen-Fenster schließen
keybd_event vbKeyF4, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyMenu, 0, KEYEVENTF_KEYUP, 0
'Close Ergebnis
End Sub
Sub replace_notepad4_XP()
keybd_event vbKeyControl, 0, 0, 0 'Alt-B für Bearbeiten
keybd_event vbKeyH, 0, 0, 0 'Alt-B für Bearbeiten
keybd_event vbKeyH, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyC, 0, 0, 0 'kleines c, für großes c vorher shift betätigen
keybd_event vbKeyC, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyTab, 0, 0, 0
keybd_event vbKeyTab, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyA, 0, 0, 0 'kleines a, für großes a vorher shift betätigen
keybd_event vbKeyA, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyMenu, 0, 0, 0
keybd_event vbKeyL, 0, 0, 0 'Alt-L für alles ersetzen
keybd_event vbKeyL, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyF4, 0, 0, 0 'Alt-F4 für Ersetzen-Fenster schließen
keybd_event vbKeyF4, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyMenu, 0, KEYEVENTF_KEYUP, 0
End Sub
Gr??e, SchauAn |