vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Windows API
keybd_event Anwendungen steuern 
Autor: SCHAUAN
Datum: 06.04.05 12:13

Hallo allerseits,
ich möchte gern Daten aus Excel in einer zweiten Anwendung bearbeiten und zurück an Excel geben. Also in Excel kopieren, die Anwendung starten --> Anwendung erhält dabei den Focus, die Daten einfügen, bearbeiten und kopieren, die Anwendung schließen --> Excel sollte dann wieder den Focus haben, und am Ende wieder in Excel einfügen. Alle Aktionen werden ausschließlich mit Tastenkombinationen ausgeführt. Leider stecke ich da zuwenig drin. Ich habe mal ein "einfaches" Beispiel erstellt, um in Notepad Zeichen ( a <--> c) auszutauschen. Das kann man natürlich auch in Excel, sollte aber für mich zum einfacheren Verständnis der Lösung mit keybd_events dienen.
Da habe ich schon 3 Probleme.
1. Aus Excel wird nichts kopiert. Es werden im Notepad vorhandene Daten der Zwischenablage eingefügt
2. Notepad wird nicht beendet
3. In Excel wird nichts eingefügt
Versionen: Excel XP, NT 4
Hier ist der code:
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 bearbeiten3()
DoEvents
copy_excel3 'in Excel kopieren
oeffne3 'Notepad öffnen
paste_notepad3 'in Notepad einfügen
replace_notepad3 'in Notepad ersetzen
copy_excel3 'in Notepad kopieren - Tastenkombination Kopieren in Excel = Notepad
schliesse3 'Notepad schliessen
paste_notepad3 'in Excel einfügen - Tastenkombination Einfügen in Excel = Notepad
End Sub
Sub copy_excel3()
keybd_event vbKeyMenu, 0, 0, 0
keybd_event vbKeyB, 0, 0, 0 'Alt-B für Bearbeiten
keybd_event vbKeyB, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyMenu, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyDown, 0, 0, 0 ' unter XP ist zuweilen die Down-Taste nötig
keybd_event vbKeyDown, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyK, 0, 0, 0 'K für Kopieren
keybd_event vbKeyK, 0, KEYEVENTF_KEYUP, 0
End Sub
Sub paste_notepad3()
keybd_event vbKeyMenu, 0, 0, 0
keybd_event vbKeyB, 0, 0, 0 'Alt-B für Bearbeiten
keybd_event vbKeyB, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyMenu, 0, KEYEVENTF_KEYUP, 0
keybd_event vbKeyE, 0, 0, 0 'E für Einfügen
keybd_event vbKeyE, 0, KEYEVENTF_KEYUP, 0
End Sub
Sub replace_notepad3()
keybd_event vbKeyMenu, 0, 0, 0
keybd_event vbKeyS, 0, 0, 0 'Alt-S für Suchen
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 oeffne3()
Ergebnis = Shell("C:\WINnt\notepad.EXE", 3)
End Sub
Sub schliesse3()
Close Ergebnis
End Sub
Bin für jede Hilfe dankbar,

Gr??e, SchauAn

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
keybd_event Anwendungen steuern2.726SCHAUAN06.04.05 12:13
Re: keybd_event Anwendungen steuern1.161ModeratorMartoeng07.04.05 00:07
Re: keybd_event Anwendungen steuern1.994SCHAUAN07.04.05 07:26
Re: keybd_event Anwendungen steuern1.149ModeratorMartoeng07.04.05 10:32
Re: keybd_event Anwendungen steuern1.919SCHAUAN07.04.05 17:12
Re: keybd_event Anwendungen steuern1.117ModeratorMartoeng07.04.05 17:37
Re: keybd_event Anwendungen steuern1.075SCHAUAN07.04.05 17:42
Re: keybd_event Anwendungen steuern1.108ModeratorMartoeng08.04.05 00:13
Re: keybd_event Anwendungen steuern1.033SCHAUAN08.04.05 16:23
Re: keybd_event Anwendungen steuern1.229ModeratorMartoeng08.04.05 16:42

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel