Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
476to480
476to480
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

onkey in anderen Programmen

onkey in anderen Programmen
31.08.2004 12:41:06
ray
Hallo,
ich öffne so aus Excel ein Programm.
Dim xxx As Long
xxx = Shell("C:\Programme\Do4\Do4.exe", vbMaximizedFocus)
Das Prog startet einwandfrei und alles ist iO.
Jetzt möchte ich das zusätzlich noch
Application.OnKey "{EINGABE}"
ausgeführt wird, da bei start des Progs ein begrüßungsfenster kommt, wo der focus schon auf OK liegt.
Dim xxx As Long
xxx = Shell("C:\Programme\Do4\Do4.exe", vbMaximizedFocus)
application.OnKey "{EINGABE}" 'dies wird aber nicht berücksichtigt.
Was mach ich falsch...
Viele Grüße aus Hamburg, gleich regnet es mal wieder...
Ray

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: onkey in anderen Programmen
Uduuh
Hallo,
OnKey weist einer Taste eine Funktion zu. Vermutlich brauchst du SendKeys
Gruß aus'm Pott
Udo
Ok, aber ALT geht nicht....
31.08.2004 13:35:00
ray
Danke Udo,
Dim xxx As Long
xxx = Shell("C:\Programme\Do4\Do4.exe", vbMaximizedFocus)
application.sendkeys "{EINGABE}" 'so gehts
Application.SendKeys "b%" 'jetzt soll dahinter ALT+b so wie links gehts aber leider nicht. F1 hat nicht geholfen...
Gruß Ray
sendkeys ("%b")
Uduuh
AW: bin ich zu blöd? es geht nicht mT
31.08.2004 13:53:58
ray
Hallo Udo:
mein code sieht jetzt so aus:
Dim xxx As Long
xxx = Shell("C:\Programme\Do4\Do4.exe", vbMaximizedFocus)
application.sendkeys "{EINGABE}" 'das geht
Application.SendKeys ("%b") ' geht nicht,
Der Ablauf:
Do4.exe wird aufgerufen.-&gt Shell("C:\Programme\Do4\Do4.exe"
Do4.exe Begrüßungsfenster wird angezeigt.
Do4.exe Begrüßungsfenster wird geschlossen. -&gt application.sendkeys "{EINGABE}"
Und jetzt ist Do4.exe nicht mehr aktiv. Blauer Balken mit caption ist grau...
Wie kann ich das Prob lösen?
Gruß Ray
Anzeige
AW: bin ich zu blöd? es geht nicht mT
y
hi Ray,
das beispiel in der hilfe zeigt dir auch da ein paar tricks
drück einfach öfter mal f1
cu Micha
@Micha: F1?Hab ich schon,steht Oben.!!!!! oT
31.08.2004 15:29:11
ray
@ andere:
application.wait hat mich auch nicht wirkl weitergebracht.
Gruß Ray
AW: @Micha: F1?Hab ich schon,steht Oben.!!!!! oT
y
...und
AppActivate
hast du auch schon entdeckt ?
cu Micha
AW: @Micha: Ja, hab ich.
31.08.2004 17:04:22
ray
d
AW: @Micha: Ja, hab ich.
y
hi ray,
was jetzt kommt ist eigentlich nur noch stochern im nebel :-(
was ist das eigentlich für ein programm ?
es gibt da natürlich ein paar möglichkeiten um den prozess wieder zu aktivieren und/oder zu warten bis er mit der bearbeitung fertig ist
vielleicht kannst du ja was draus machen:
Option Explicit
Public Const PROCESS_QUERY_INFORMATION = &H400
Public Const WAIT_TIMEOUT = &H102&
Declare

Function OpenProcess Lib "kernel32" _
(ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Declare 

Function WaitForSingleObject Lib "kernel32" _
(ByVal hHandle As Long, _
ByVal dwMilliseconds As Long) As Long

Sub load()
Call WartenBisFertig("Notepad.exe")
SendKeys "%{TAB}"
SendKeys "Hallo"
End Sub


Sub WartenBisFertig(strEXE As String)
Dim ProcessID As Long
Dim hProcess As Long
Dim RetVal As Long
ProcessID = Shell(strEXE, vbNormalFocus)
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, ProcessID)
Do
DoEvents
RetVal = WaitForSingleObject(hProcess, 50)
Loop Until RetVal <> WAIT_TIMEOUT
End Sub

cu Micha
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige