Hallo Martoeng,
ich möchte z.B. eine Grafik aus einem Excel-Sheet in Paint spiegeln. Das bekomme ich anders nicht gebacken. Den Test-Code für Notepad habe ich jetzt soweit, dass er läuft, mit folgenden Änderungen zur letzten Version
- in jedem Makro mit keybd.. am Ende DoEvents
- im Schließen-Makro noch die Taste n - wegen der Speichern-Abfrage
- ein Extra - Makro für das Kopieren im Notepad - zusätzlich alles markieren, unter NT per Menübefehl, für XP muß noch STRG-A programmiert werden
- und vor dem Einfügen in Excel im Hauptmakro (bearbeiten4) eine kurze Wartezeit sonst kommen die vorher kopierten Daten und nicht die in Notepad kopierten.
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_notepad4 'in Notepad kopieren
Application.Wait TimeSerial(Hour(Now()), Minute(Now()), Second(Now()) + 2)
schliesse4 'Notepad schliessen
paste_notepad4 'in Excel einfügen - Tastenkombi 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
keybd_event vbKeyC, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyControl, 0, KEYEVENTF_KEYUP, 0
DoEvents
End Sub
Sub copy_notepad4()
keybd_event vbKeyControl, 0, 0, 0 'STRG-A-C für Markieren und Kopieren,
keybd_event vbKeyA, 0, 0, 0
keybd_event vbKeyA, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyC, 0, 0, 0
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
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
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
DoEvents
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 Fenster schließen
keybd_event vbKeyF4, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyMenu, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyN, 0, 0, 0 'N für nicht Speichern
keybd_event vbKeyN, 0, KEYEVENTF_KEYUP, 0
'Close Ergebnis
DoEvents
End Sub
Sub replace_notepad4_XP()
keybd_event vbKeyControl, 0, 0, 0 'Alt-H für Bearbeiten
keybd_event vbKeyH, 0, 0, 0
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
DoEvents
End Sub
Gr??e, SchauAn |