Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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
Inhaltsverzeichnis

Berechnungsprogramm starten

Berechnungsprogramm starten
04.06.2018 08:24:59
Mathias
Moin zusammen,
ich habe folgendes Problem zu lösen.
Aus Excel raus per VBA-Code möchte ich ein Berechnungsprogramm starten. Das Aufrufen des Programmes funktioniert schon mal über die Funktion WsShell. Nach diesem Aufruf öffnet sich das Programm als schwarzes Fenster. Einen Augenblick später möchte das Programm über ein Windows Explorer Fenster das man einen Pfad auswählt. Und da geht mein Problem los. Ich möchte diesem Fenster einen Wert (Pfad) übergeben und bestätigen. Dann startet die Berechnung und wenn die Berechnung fertig ist (dauer zwischen 1 und 30 Minuten) möchte ich einen Parameter in Excel übernehmen.
mfg
Mathias

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: DOS?
04.06.2018 09:10:02
Fennek
Hallo,
für DOS-Programme (wie DIR) geht das recht gut. Deshalb die Frage, ob das "Berechnungsprogramm" ein DOS oder ein Windows-Programm ist.
Ohne zusätzliche Informationen werden die Antworten eher allgemein bleiben.
mfg
AW: DOS?
04.06.2018 09:14:14
Martin
Hallo Fennek,
Mathias hat es doch geschrieben:
"Einen Augenblick später möchte das Programm über ein Windows Explorer Fenster das man einen Pfad auswählt."
...eine Windows-Anwendung.
Viele Grüße
Martin
AW: Berechnungsprogramm starten
04.06.2018 09:11:35
Martin
Hallo Mathias,
für solche Probleme gibt es zwei Möglichkeiten:
1. Quick & Dirty: Du sendest Tastenkombinationen (siehe SendKeys). Diese Lösungsmöglichkeit ist nicht nur sehr unzuverlässig (...weil eine Kontrolle der erfolgreichen Durchführung sehr schwierig bis unmöglich ist), sondern ist aufgrund der variablen Ordnerstruktur im Windows Explorer (es können ja immer neue Verzeichnisse hinzukommen oder gelöscht werden) schlecht umsetzbar.
2. Schwierig umsetzbar aber sauber: Jedes Windows-Steuerelement erhält eine Windows-ID. Du lädst dir die Freeware WinSpy aus dem Internet und ermittelst die entsprechenden Windows-Prozesse der benötigten Windows Explorer-Steuerelemente. Per API unter VBA steuerst du den Windows Explorer dann fern. Der Vorteil ist, dass du Fehler abfangen und sauber auf die Steuerelemente zugreifen kannst, ohne dass diese den Fokus haben müssen. Das ist zwar mit einem hohen Aufwand verbunden, funktioniert in der Regel aber in der Regel tadellos.
Viele Grüße
Martin
Anzeige
AW: Berechnungsprogramm starten
04.06.2018 10:25:37
Mathias
Vielen Dank erstmal für die Antworten.
Das Berechnungsprogramm ist mit matlab geschrieben.
Den Befehl SendKeys habe ich schon probiert, das würde auch funktionieren, aber das Problem ist, das es zwischen 4 und 6 sekunden dauert bis sich das Windows Fenster öffnet.
lg
Mathias
AW: Berechnungsprogramm starten
04.06.2018 10:45:56
Martin
Hallo Mathias,
es sollte kein Problem darstellen zu warten bis sich das Windows-Fenster öffnet.
Schau mal hier: http://www.office-loesung.de/ftopic349274_0_0_asc.php
Ich würde an deiner Stelle zwar API bevorzugen, aber die AppActivate-Anweisung in Verbindung mit der On Error-Abfrage wird dir wahrscheinlich sympathischer ein ;-)
Viele Grüße
Martin
Anzeige
AW: Berechnungsprogramm starten
06.06.2018 12:26:46
Mathias
Hallo Martin,
jetzt habe ich mir irgendetwas zerschossen. Es öffnet sich die Eingabeaufforderung aber nicht mehr das Windows Fenster. Stattdessen bekomme ich eine Fehlermeldung das der Zugriff auf die Konfigurationsdatei nicht möglich ist bzw. verweigert wird. Ich bin der Meinung, dass ich das den Tag auch schon hatte und es durch die vielen Anführungsstriche behoben habe. Per Doppelklick aus dem Explorer öffnet sich alles ganz normal.
Folgenden Code verwende ich zum Öffnen:
Dim WshShell As Object
Set WshShell = CreateObject("Wscript.Shell")
WshShell.Run """M:\Access\Combros R 1.3.0\COMBROS R 1.3.0 64bit\Rechenkern 64bit für MCR 9.1\COMBROS_R_1.3.0.exe"""
Fehlen mir irgendwelche Verweise, Bedingungen oder sonstige Parameter?
mfg
Mathias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige