Betrifft: In Excel externes Programm starten
von: Axel F
Geschrieben am: 14.01.2010 09:02:27
Hallo zusammen,
folgendes Problem: Ich möchte in meinem Excel-Sheet ein externes Programm starten, welches Daten aus einem Datenbanksystem in mein Excel-sheet überträgt (das ist bei uns ein kommerzielles IBM Programm "i-Series"). Der Start funktioniert nicht mit Shell (ich vermute, da es kein .exe file ist).
Ich habe mir jetzt so geholfen, dass ich mir einen Hyperlink in mein Excel-Sheet lege und diesen per Makro starte. Dann popt allerdings das Fenster des externen Programms auf und will noch mit zwei Mausclicks im Programm bestätigt werden. Jetzt meine Frage: Kann man evtl diese beiden Mausclicks mit dem Makro steuern? D.h. kann ich Excel sagen: clicke jetzt an eine ganz bestimmte Cursor-Position?
Ich hoffe man kann mir helfen
Gruß
Axel
Betrifft: AW: In Excel externes Programm starten
von: Tino
Geschrieben am: 14.01.2010 10:07:51
Hallo,
versuch mal Dein Programm hiermit zu starten.
Public Declare Function ShellExecute Lib "shell32.dll" Alias _ "ShellExecuteA" (ByVal hWnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nshowcmd As Long) As Long Sub beliebigeDateiÖffnen() Dim strPfad As String Const SW_NORMAL = 1 'Hier Dein Programm angeben strPfad = "C:\Datei.???" 'Pfad zur Datei Call ShellExecute(0, "open", strPfad, "", "", SW_NORMAL) End SubGruß Tino
Betrifft: Beliebige Datei mit verknüpftem Programm starten
von: NoNet
Geschrieben am: 14.01.2010 11:24:51
Hallo Axel F ;-),
mit folgendem Code kannst Du eine beliebige Datei mit dem für den Dateityp assoziierten Programm starten :
Sub BeliebigeDateiStarten() Dim strDateiname As String, strOrdner As String strOrdner = "C:\Temp\" 'Mit "\" am Ende !!! strDateiname = "Irgendeine Datei.xyz" 'Dateiname bitte anpassen ! If Dir(strOrdner & strDateiname) <> "" Then StarteDatei (strOrdner & strDateiname) End Sub
Sub StarteDatei(strDateiname) Dim myShell As Object Set myShell = CreateObject("WScript.Shell") myShell.Run strDateiname Set myShell = Nothing End SubGruß, NoNet
Betrifft: AW: Beliebige Datei mit verknüpftem Programm starten
von: Axel F
Geschrieben am: 14.01.2010 14:28:38
Hallo NoNet,
vielen Dank, so funktioniert der Start des Programms.
Aber ich muss immer noch in dem externen Programm, welches sich dann öffnet, zwei Mausclicks tätigen. Kann man die auch automatisieren???
Gruß
Axel
Betrifft: Nicht so ohne Weiteres evtl. per API...
von: NoNet
Geschrieben am: 14.01.2010 14:47:38
Hallo Axel,
nur mit reinen Excel Bordmitteln lässt sich das nicht bewerkstelligen, aber ich könnte mir vorstellen, dass man per API den Handle des geöffneten Programms ermitteln kann und diesem Prozess dann die zwei "Klicks" übergeben kann.
Das müssten allerdings die API-Spezialisten hier im Forum lösen, da ich davon leider keine Ahnung habe ;-)
Gruß, NoNet
Betrifft: AW: Nicht so ohne Weiteres evtl. per API...
von: Nepumuk
Geschrieben am: 14.01.2010 22:20:44
Hallo NoNet,
so einfach ist das nicht. Wenn ich an dem Rechner sitzen würde und mir alle meine Hilfsmittel zur Verfügung ständen, wär's kein Problem. Aber ein Programm, das du nicht vorliegen hast und auch nicht kennst von außen anzusteuern (bei VBA bescheiden) ist es ein ziemliches.
Versuch mal einem Dreijährigen per Funk alleine einem Jumbojet landen zu lassen, der noch für 5 Minuten Treibstoff im Tank hat. ;-)
Gruß
Nepumuk
Betrifft: AW: Nicht so ohne Weiteres evtl. per API...
von: MichaV
Geschrieben am: 14.01.2010 22:24:44
"Versuch mal einem Dreijährigen per Funk alleine einem Jumbojet landen zu lassen" ..da fällt mir doch spontan SendKeys ein.
Gruss- Micha