Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
480to484
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
480to484
480to484
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ausführen von exe-Datei liefert anderes Ergebnis

Ausführen von exe-Datei liefert anderes Ergebnis
07.09.2004 14:28:03
exe-Datei
Hallo,
ich habe mit vielen Tipps und Hilfen dieser HP mein Programm soweit am Laufen.
Dabei führe ich eine exe-Datei aus, die eine zuvor gespeicherte CSV-Datei benutzt und nach der Ausführung eine neue CSV-Datei erstellt.
Mein Programm-Code bis hierhin:
Application.Wait (Now + TimeValue("0:00:01"))
Application.DisplayAlerts = False
ChDir "H:\Verchromungsdatenbank\Daten"
ActiveWorkbook.SaveAs Filename:="C:\Test\daten\liste.csv", _
FileFormat:=xlCSVMSDOS, CreateBackup:=False
Application.DisplayAlerts = True
Application.Wait (Now + TimeValue("0:00:01"))
Dim strDeinProgramm As String
strDeinProgramm = "C:\Test\Programm.exe"
ChDir "C:\Test"
Call Shell(Environ("COMSPEC") & " /C " & strDeinProgramm, vbHide)
Application.Wait (Now + TimeValue("0:00:01"))
Leider beinhaltet die von der exe-Datei erstellte csv-Datei nur gähnende Leere.
Wenn ich danach die exe-Datei von Hand aus dem Explorer starte und auch die zuvor erstellte liste.csv benutze, dann erstellt das Programm eine csv-Datei mit gewünschtem Inhalt !!!
Das klappt also nur nicht, wenn ich mein VB-Programm ausführe.
Hab ich nen Fehler im Quelltext ?
Ich hab mittlerweile viel auspobiert, komme aber als Anfänger nicht mehr weiter.
Z.B. wurde die exe-Datei ohne die Zeile "ChDir "C:\Test"" nicht ausgeführt, weil Daten, die das exe-Programm braucht nicht gefunden wurde.
Liegt vielleicht da noch mein Fehler ?
Über Eure Hilfe würde ich mich freuen.
Vielen Dank und Grüße von der Mosel
Dirk

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausführen von exe-Datei liefert anderes Ergebnis
07.09.2004 15:24:27
exe-Datei
Hallo Dirk,
bist du sicher, dass die Exe-Datei auch wirklich ausgeführt wird. Bei deiner Konstruktion wird kein Fehler erzeugt, falls der Interpreter das Programm nicht findet.
Teste doch mal den einfachen Weg:
Call Shell(strDeinProgramm)
oder muss das unbedingt über cmd.exe laufen?
Gruß
Axel
AW: Ausführen von exe-Datei liefert anderes Ergebnis
exe-Datei
Hallo Axel,
vielen Dank für Deine Hilfe !!!
Das klappt auch mit Deiner Idee, jedoch wird die Datei immernoch nicht korrekt ausgeführt.
Die csv-Datei bleibt leer.
Ich verstehe das einfach nicht !!!
Nochmals Danke.
Gruß
Dirk
AW: Ausführen von exe-Datei liefert anderes Ergebnis
07.09.2004 16:44:05
exe-Datei
Ruhig Blut!
Vielleicht solltest du mir zusätzlich einige Infos geben, da ich an den offensichtlich bereits vorher gelaufenen Threads zum Thema nicht beteiligt war.
Wenn ich das richtig verstehe, liest das Exe-Programm die innerhalb des VBA-Code erstellte Datei "liste.csv" und erzeugt eine neue CSV-Datei, richtig?
Wofür sollen denn die ganzen sleep(1) (Application.Wait()) gut sein? Den letzten kann ich ja noch verstehen, da Shell() das auszuführende Programm asychron startet. Allerdings wäre da eine explizite Prüfung auf Terminierung des Programm sinnvoller, als pauschal eine bestimme Zeit zu warten. Aber das ist ja jetzt nicht das Problem.
Nochmal konkret die Frage: Bist du sicher, dass das exe-Programm korrekt ausgeführt wird? Gibt es da ein Protokoll, Debug-Informationen oder ähnliches?
Gruß
Axel
Anzeige
AW: Ausführen von exe-Datei liefert anderes Ergebn
07.09.2004 17:23:22
exe-Datei
Hi Volker,
Danke für Deine Antwort.
Zu Deinen Fragen:
Vorher noch: hab da zwei unterschiedliche ChDir drin. Die sind aber gleich. hab nur versäumt die anzuändern.
'ChDir "C:\Test\Daten"'
'ActiveWorkbook.SaveAs Filename:="C:\Test\daten\liste.csv"'
Zum Thema:
Also, ein Informatiker hat ein Programm geschrieben, wozu ich eine Oberfläche für Maschinenbediener machen soll. Ich hab sowas aber noch nicht gemacht und versuche mich eben hier.
Das Programm funktioniert ohne meine Anwendung einwandfrei.
Mittlerweile speichert die Anwendung auch die csv-Datei ohne Probleme.
Die kann das Programm auch verarbeiten wenn ich es im Explorer ausführe.
Danach stimmt auch die auszugebende Datei. also: Programm funktioniert
Wenn ich jetzt das Programm mit meiner Anwendung ausführe, sehe ich auch, wie das Programm ausgeführt wird. Aber Gespeichert wird nur eine csv-Datei, bei der die berechneten Werte fehlen, aber die Achsenbeschriftung erstellt wurde.
also: irgendwas stimmt nicht
Aus diesem Grund hab ich auch die Pausen hineingesetzt, weil ich gedacht habe, dass das
Programm vielleicht nicht so schnell ist.
Hat aber auch nichts gebracht.
Hoffe ich konnte mich genug ausdrücken.
Schonmal vielen Dank für Deine Bemühungen.
Viele Grüße
Dirk
Anzeige
AW: Ausführen von exe-Datei liefert anderes Ergebn
07.09.2004 17:51:37
exe-Datei
Hallo Dirk,
genauso habe ich das auch verstanden und interpretiert.
Das exe-Programm arbeitet also beim Aufruf aus Excel anders (besser gesagt falsch) als beim Aufruf über den Explorer.
Offensichtlich gibt es aber keine Protokolldatei oder die Möglichkeit das exe-Programm mit Debugging-Infos laufen zu lassen. Wir stochern also im Dunkeln. Parameter werden keine übergeben und der Pfad ist sicherlich auch richtig, gell? Der Quellcode liegt natürlich nicht vor.
Fehlen vielleicht irgendwelche Umgebungsvariablen? Sollten eigentlich nicht.
Ich fürchte da kann ich dann auch nicht mehr helfen.
Sorry
Axel
Anzeige
AW: Ausführen von exe-Datei liefert anderes Ergebn
08.09.2004 08:47:17
exe-Datei
Hallo Axel,
ich bin jetzt wieder einen Schritt weiter.
Das Programm läuft auf jeden Fall, wenn ich es aus dem Makro öffne.
Aber da scheint ein Problem mit dem speichern der CSV-Datei zu sein.
Application.DisplayAlerts = False
ChDir "c:\Test\Daten"
ActiveWorkbook.SaveAs Filename:="C:\Test\Daten\liste.csv", _
FileFormat:=xlCSVMSDOS, CreateBackup:=False
Application.DisplayAlerts = True
ich habe dem Programm verboten, die CSV Datei zu überschreiben.
Nachdem ich mir die Datei angeschaut habe, stand alles in Spalte A mit "," getrennt.
Da könnte der Fehler liegen.
Hast DU da eine Idee ?
Vielen Dank im Voraus.
Gruß
Dirk
Anzeige
AW: Ausführen von exe-Datei liefert anderes Ergebn
08.09.2004 12:33:40
exe-Datei
Hi Axel,
ich habs.
Das Problem lag tatsächlich am Speichern der CSV-Datei.
ActiveWorkbook.SaveAs Filename:="C:\Test\Daten\liste.csv", FileFormat:=xlCSV, local:=True
Local:=True
übernimmt den "europäischen" ;-) Part und trennt mit Semikolons
Vorher waren die Semikolons nur Kommas.
Da war der Fehler begraben !!!!
Also nochmal vielen Dank !!!
Viele Grüße
Dirk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige