Announcement

Collapse
No announcement yet.

Unerklärlich: Einzelne Batch-Zeilen laufen aus VBA nicht ab

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Unerklärlich: Einzelne Batch-Zeilen laufen aus VBA nicht ab

    Hallo an alle,

    ich kämpfe mit einem ausgesprochen seltsamen Verhalten, ohne klar sagen zu können dass es überhaupt mit der VBA-Seite meiner Lösung zu tun hat. Wer weiss Rat?

    Problem: In Excel-VBA wird eine Batch-Datei geschrieben, die einige Command-Line-Tools (mit zuvor in Excel ermittelten Parametern) nacheinander aufruft. Die bat wird korrekt ins richtige Verzeichnis geschrieben und startet (???) auch... scheinbar - denn einzelne Tools werden nicht gestartet, lediglich die Parameter gesetzt und "Echo"-Anweisungen sichtbar. Bei anschliessendem Doppelklick auf die selbe (gerade erzeugte) bat-Datei läuft alles wie es sein soll.

    Woran kann sowas denn liegen? Ich weiss nicht recht weiter...

    Grund für die Batch-Lösung ist übrigens die Notwendigkeit eines asynchronen Ablaufs - mit allen anderen Versuchen "blockiert" Excel während der umfangreichen Aufgaben (Bildberechnungen) der Command-Line-Tools. Weiss vielleicht jemand noch eine andere Lösung?

    Vielen Dank für erste Ideen
    Michael

  • #2
    Vielen Dank für erste Ideen
    Sry, woher sollen die kommen?

    Einzige Information: Es gibt eine Batch-Datei, die ruft Tools auf; das geht nicht.

    Was soll man sagen?
    Setze eine Pause zwischen den Kommandos.
    Namen und Pfade zu den Tools falsch
    Parameter falsch.

    Erst mit einem Tool pobieren, dann weitere hinzunehmen. Vielleicht liegt es an einem aufgerufenen Tool

    Abhängigkeiten nicht beachet, das eine Tool braucht das Ergebnis eines vorherigen
    .....

    Weiss vielleicht jemand noch eine andere Lösung?
    Ohne Batch-Datei mit extra Programm, welches im entsprechenden Parametern aus Excel aufgerufen wird.
    Christian

    Comment


    • #3
      Danke für die konstruktive Kritik ;-) denn ich war wohl nicht klar genug.

      - Batch-Datei wird in VBA erzeugt und in ein (neues) Verzeichnis geschrieben
      - die Batch (mit allen aufgerufenen Tools) läuft astrein durch, wenn sie dann im Explorer mit Doppelklick gestartet wird! --> keine falschen Parameter, Pfade o.ä.
      - wird sie aber stattdessen nach ihrer Erzeugung direkt aus VBA gestartet, laufen lediglich einige Zeilen (Echo etc.)
      - Gegentest: nach Fehlversuch und Schliessen der Konsole reicht der Doppelklick auf die (gerade erst erzeugte und nicht voll abgelaufene) bat, um alles wie gewünscht ablaufen zu lassen.

      Es bleibt unerklärlich!?!?!?!

      mit extra Programm, welches mit entsprechenden Parametern aus Excel aufgerufen wird
      Welches Programm könnte das sein? Ich habe keines gefunden, das meine Tools asynchron ablaufen lässt und Excel nicht massiv aufhält... (ok, VBScript käme als Alternative für Batch in Frage macht aber eigentlich das gleiche). Wenn ich aber die einzelnen Tools (z.B. mit "Shell") nacheinander aus Excel starte, hält das Makro die ganze Anwendung auf bis das letzte Tool abgestartet ist...

      Danke nochmal
      Michael

      Comment


      • #4
        Gelöst: Einzelne Batch-Zeilen laufen aus VBA nicht ab

        GELÖST!

        Zwar weiss ich nicht wie - aber die Batch läuft nun auch aus VBA gestartet ganz durch. Kann ja auch nicht sein denn schliesslich ist der Comp ja immer nur so schlau wie der der davor sitzt

        Meine einzig plausible Erklärung im Moment:
        Der VBA-Start über ShellExec hatte als Arbeitsverzeichnis (Parameter lpDirectory) standardmässig das Windows-Verzeichnis eingestellt - aus dem heraus das erste Tool (GraphicsMagick) evtl. nicht startet . Dagegen fand der Doppelklick auf die Batch - mit dem von Anfang an alles funktionierte - im Bilderverzeichnis statt, in das VBA die Batch wie gewünscht gelegt hatte. Das explizite Wechseln des Pfads zum Bilderverzeichnis (zusätzliche Zeile "CD .." per VBA in die Batch eingefügt) vor Aufruf des GM-Tools brachte jedenfalls die Wende

        Danke an alle die sich evtl. Gedanken gemacht hatten.

        Michael
        Zuletzt editiert von sonhospa; 06.08.2008, 12:58. Reason: Titelzusatz "Gelöst"

        Comment

        Working...
        X