Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro ausführen via scheduler

Makro ausführen via scheduler
12.03.2022 11:23:10
Heinzs
Hallo Profis,
folgende Batch startet Excel und führt über workbookopen() ein makro aus:
call "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" /e/autorun "c:\test\test\test.xlsm"
Führe ich die Batch manuell aus; wird alles problemlos im Makro berechnet (u.a. andere Workbooks auf Netzwerklaufwerken und Sharepoints geöffnet...)
Nun habe ich die bat Datei über Windows Scheduler ausführen lassen und: das Programm bleibt irgendwo hängen.
Wie kann ich heraus finden, was die Ursache ist?
Danke für Hilfe!
MfG
Heinz
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro ausführen via scheduler
12.03.2022 11:54:36
Firmus
Hallo Heinzs,
ich habe mal kurz gegoogled mit ms scheduler VBA problem:
https://social.msdn.microsoft.com/Forums/en-US/87dba67f-e2e5-4652-95a5-a2db8ef9e2d9/excel-macro-does-not-run-properly-when-started-by-task-scheduler-in-windows-10?forum=exceldev
Microsoft does not currently recommend, and does not support, Automation of Microsoft Office applications from any unattended .....
Aber es wird auch eine mögliche Lösung diskutiert.
Gruß,
Firmus
Anzeige
AW: Makro ausführen via scheduler
12.03.2022 12:39:26
Heinzs
Hallo Firmus,
danke für deine Hilfe; die Einstellungen waren bereits so, wie in deinem Link beschrieben.
Wie finde ich heraus an welcher Stelle in meinem Makro er hängen bleibt?
MfG
Heinz
AW: Makro ausführen via scheduler
12.03.2022 19:55:32
Firmus
Hi Heinz,
das xlsm-file mit dem Makro öffnen bevor die Bat-file durch den Scheduler gestartet wird.
Dann Haltepunkt (F9) gleich bei Beginn des Makros (vllt. mit einer DummyAnweisung i=i ) ermöglicht dir dann die schrittweise Verfolgung(F8) im VBA Editor.
Mit weiteren Haltepunkten kommst du so dem Problem immer näher - Sisyphusarbeit.
ABER, da bist du eventuell weit weg von deiner Problemsituation, da ja in diesem Debugging die XLSM schon geöffnet ist.
Heißt - u. U. nicht der richtige Weg zum Reproduzieren.
Weiter kann ich leider nicht helfen, da ich Task Scheduler nicht installiert habe, somit nichts reproduzieren kann.
Batch-Aufruf war noch möglich. workopen-event hat schon gestoppt (Bug in xls2013 - sagt so manche Stelle in Google.)
Sorry,
aber trotzdem noch einen schönen Sonntag,
Firmus
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Makros mit dem Windows Task Scheduler ausführen


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro schrittweise auszuführen, kannst Du den Windows Task Scheduler verwenden. Hier sind die Schritte, die Du befolgen solltest:

  1. Erstelle ein Batch-Skript: In diesem Skript startest Du Excel und lädst Deine Arbeitsmappe mit dem Makro. Beispiel:

    call "C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE" /e /autorun "c:\test\test\test.xlsm"
  2. Öffne den Windows Task Scheduler: Suche nach "Task Scheduler" in der Windows-Suche und öffne die Anwendung.

  3. Neuen Task erstellen: Klicke auf "Task erstellen" und gib Deinem Task einen Namen.

  4. Trigger festlegen: Wähle aus, wann der Task ausgeführt werden soll (z.B. täglich, wöchentlich oder bei Systemstart).

  5. Aktion festlegen: Wähle "Programm starten" und gib den Pfad zu Deinem Batch-Skript an.

  6. Überprüfe die Einstellungen: Achte darauf, dass der Task mit den höchsten Berechtigungen ausgeführt wird.

  7. Teste den Task: Starte den Task manuell und überprüfe, ob das Makro wie erwartet funktioniert.


Häufige Fehler und Lösungen

  • Makro bleibt hängen: Wenn das Makro beim Ausführen über den Task Scheduler hängen bleibt, könnte es daran liegen, dass Excel im Hintergrund läuft und auf eine Benutzerinteraktion wartet. Stelle sicher, dass keine Dialogfenster geöffnet sind.

  • Debugging des Makros: Um herauszufinden, an welcher Stelle das Makro hängt, öffne die Arbeitsmappe manuell vor der Ausführung des Tasks. Setze Haltepunkte im VBA-Editor, um schrittweise durch den Code zu gehen.

  • Automatisierung wird nicht unterstützt: Microsoft unterstützt die Automatisierung von Office-Anwendungen aus nicht überwachten Umgebungen nicht. Achte darauf, dass alle erforderlichen Bedingungen erfüllt sind, bevor Du das Makro über den Task Scheduler startest.


Alternative Methoden

Falls der Windows Task Scheduler nicht die gewünschte Lösung bietet, kannst Du folgende Alternativen in Betracht ziehen:

  • Excel Add-Ins: Nutze Excel-Add-Ins, die eine schrittweise Ausführung von Makros ermöglichen.

  • VBA-Skripte: Erstelle ein VBA-Skript, das automatisch beim Öffnen der Arbeitsmappe ausgeführt wird. Dies könnte eine bessere Kontrolle über die Ausführung bieten.

  • Drittanbieter-Software: Es gibt Tools wie Macro Scheduler, die speziell für die Ausführung von Makros und Automatisierung entwickelt wurden.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du ein Excel-Makro schrittweise ausführen kannst:

  • Beispiel 1: Ein Makro, das Daten aus mehreren Arbeitsblättern konsolidiert. Du kannst Haltepunkte setzen, um sicherzustellen, dass jede Arbeitsmappe korrekt geöffnet und verarbeitet wird.

  • Beispiel 2: Ein Makro, das Daten von einem Netzwerkstandort abruft. Überprüfe die Netzwerkverbindungen und setze Haltepunkte, um sicherzustellen, dass jede Verbindung erfolgreich ist.


Tipps für Profis

  • Verwende On Error Resume Next: Dies kann hilfreich sein, um Fehler während der Ausführung zu ignorieren, jedoch sollte es mit Bedacht eingesetzt werden, da es auch andere Fehler verschleiern kann.

  • Logge die Ausführung: Füge Logging in Dein Makro ein, um zu wissen, welche Schritte erfolgreich abgeschlossen wurden und wo es eventuell hakt.

  • Teste in einer sicheren Umgebung: Führe die Tests in einer Umgebung durch, in der Du keine wichtigen Daten gefährdest.


FAQ: Häufige Fragen

1. Kann ich ein Excel-Makro schrittweise ausführen, wenn Excel nicht geöffnet ist?
Nein, Excel muss geöffnet sein, um ein Makro auszuführen. Du kannst jedoch die Auto-Open-Funktion nutzen.

2. Wie kann ich Fehlerprotokolle für mein Makro erstellen?
Füge in Deinem VBA-Code Anweisungen hinzu, die Fehler erfassen und in eine Textdatei oder ein Arbeitsblatt schreiben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige