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

Excel Makro via VBS ausführen

Forumthread: Excel Makro via VBS ausführen

Excel Makro via VBS ausführen
03.03.2020 16:57:36
Julian
Hallo,
ich bräuchte mal die Hilfe von einem Programmierer, welcher VBS beherrscht.
Ich habe eine Excel Datei, welche Pivot Tabellen beinhaltet. Diese Tabellen müssen sich automatisch aktualisieren.
Nach dem aktualisieren soll ein Makro ausgeführt werden.
Zwischen dem Aktualisieren und dem Makro ausführen kann gerne 30 Sekunden liegen.
Kann mir hier jemand weiterhelfen?
Danke vorab.
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Makro via VBS ausführen
03.03.2020 19:06:41
volti
Hallo Julian,
bist Du Dir sicher, dass Du mit VBS eine Windows-Scriptingdatei meinst, die direkt unter Windows läuft?
Diese kann natürlich Excel starten und auch ein Makro laufen lassen, aber anhand der o.a. Ausführungen ist Dein Anliegen für mich nicht ausreichend ersichtlich.
Am besten Du beschreibst genauer, wie das laufen soll und lädst die betroffene Datei auch gleich mit hoch...
viele Grüße
Karl-Heinz
Anzeige
AW: Excel Makro via VBS ausführen
04.03.2020 09:01:02
Julian
Hallo Karl-Heinz,
leider ist die Datei zu groß und hier kann man keine .xlsm Dateien hochladen...
Kann ich dir die Datei anders zu kommen lassen?
AW: Excel Makro via VBS ausführen
04.03.2020 10:24:20
volti
Hallo Julian,
erstelle eine Kopie und verkleinere sie durch Verringerung des Inhalts auf unter 300 KB. Dann sollte es mit dem Hochladen klappen.
Es geht ja nur um die Vorgehensweise und die Namen der Datei und Pivottabellen und des Makros usw.
Falls Du wirklich das über VBS lösen möchtest, hier mal ein Ansatz, wie es in etwa gehen könnte:

sDatei="C:\Users\bubi\Desktop\VisualScript-Dateien\VBS_Test.xlsb"
Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Open (sDatei)
wscript.sleep 10000
objExcel.Run "MyMakro"
objExcel.quit
Set objExcel = Nothing

viele Grüße
Karl-Heinz
Anzeige
AW: Excel Makro via VBS ausführen
04.03.2020 13:59:39
Julian
Hallo Karl-Heinz,
Ich habe folgendes auch selbst gebaut, dies funktioniert auch, jedoch hänge ich jetzt fest wie die über die Aufgabenplanung automatisiert werden kann.
Dim objXL
Dim objWkb
Dim objWks
Set objXL = WScript.CreateObject("Excel.Application")
set objWkb = objXL.Workbooks.open("C:\DailySupport\Daily_Support_Report_Auto.xlsm")
set objWks = objWkb.Worksheets("Zusammenfassung")
objWks.Activate
objXL.Run "PdfAndMail"
objWkb.Close True
objXL.Quit
set objXL = Nothing
Anzeige
AW: Excel Makro via VBS ausführen
04.03.2020 16:03:30
volti
Hallo Julian,
ich habe noch nie was mit dem Windows-Taskplaner gemacht.
Aber über den müsste man das VB-Script ja zum gewünschten Zeitpunkt ausführen können.
Ggf. mal Googlen oder hier wieder auf offen stellen.
VG KH
;
Anzeige
Anzeige

Infobox / Tutorial

Excel Makro via VBS ausführen


Schritt-für-Schritt-Anleitung

Um ein Excel-Makro über ein VBS-Script auszuführen, folge diesen Schritten:

  1. VBS-Datei erstellen: Öffne einen Texteditor (z. B. Notepad) und füge den folgenden Code ein:

    sDatei = "C:\Pfad\zu\deiner\Excel-Datei.xlsm"
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open(sDatei)
    WScript.Sleep 30000 ' Wartezeit von 30 Sekunden
    objExcel.Run "MyMakro" ' Ersetze "MyMakro" durch den Namen deines Makros
    objWorkbook.Close True
    objExcel.Quit
    Set objExcel = Nothing
  2. Datei speichern: Speichere die Datei mit der Endung .vbs, z. B. MeinScript.vbs.

  3. VBS-Script ausführen: Doppelklicke auf die .vbs-Datei, um das Script zu starten und das Makro auszuführen.

  4. Überprüfen: Stelle sicher, dass das Makro in Excel wie gewünscht funktioniert.


Häufige Fehler und Lösungen

  • Fehler beim Öffnen der Datei: Stelle sicher, dass der Pfad zur Excel-Datei korrekt ist. Achte auf die Dateiendung (.xlsm).
  • Makro nicht gefunden: Überprüfe den Namen des Makros im VBS-Script. Es muss exakt mit dem Namen in Excel übereinstimmen.
  • Excel startet nicht: Stelle sicher, dass Excel auf deinem Computer installiert ist und keine anderen Instanzen von Excel geöffnet sind.

Alternative Methoden

Falls du Schwierigkeiten mit VBS hast, kannst du die folgenden Alternativen in Betracht ziehen:

  • PowerShell: PowerShell kann ebenfalls verwendet werden, um Excel-Makros auszuführen. Hier ist ein einfaches Beispiel:

    $excel = New-Object -ComObject Excel.Application
    $workbook = $excel.Workbooks.Open("C:\Pfad\zu\deiner\Excel-Datei.xlsm")
    Start-Sleep -Seconds 30
    $excel.Run("MyMakro")
    $workbook.Close($true)
    $excel.Quit()
  • Direkt in Excel: Du kannst dein Makro auch direkt in Excel ausführen, indem du eine Schaltfläche auf dem Arbeitsblatt hinzufügst und das Makro mit dieser Schaltfläche verknüpfst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie man ein Excel-Makro über ein VBS-Script ausführen kann:

  1. Automatisches Versenden von Berichten:

    sDatei = "C:\Reports\Monatsbericht.xlsm"
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open(sDatei)
    WScript.Sleep 30000
    objExcel.Run "VersendeBericht" ' Makro zum Versenden des Berichts
    objWorkbook.Close True
    objExcel.Quit
  2. Datenaktualisierung und Export:

    sDatei = "C:\Daten\DatenAktualisieren.xlsm"
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.Workbooks.Open(sDatei)
    WScript.Sleep 30000
    objExcel.Run "AktualisiereDaten" ' Makro zur Datenaktualisierung
    objWorkbook.Close True
    objExcel.Quit

Tipps für Profis

  • Debugging: Wenn dein VBS-Script nicht funktioniert, kannst du es im Windows Script Host debuggen. Füge MsgBox-Befehle hinzu, um den Status zu überprüfen.
  • Sicherheitseinstellungen: Stelle sicher, dass die Makros in Excel aktiviert sind, sonst wird dein Makro nicht ausgeführt. Dies kannst du in den Excel-Optionen unter "Trust Center" anpassen.
  • Automatisierung mit Aufgabenplanung: Du kannst das VBS-Script über die Windows Aufgabenplanung automatisch zu bestimmten Zeiten ausführen lassen.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen VBA und VBS?
VBA (Visual Basic for Applications) ist eine Programmiersprache, die innerhalb von Microsoft Office-Anwendungen verwendet wird, während VBS (Visual Basic Script) eine Skriptsprache ist, die in Windows verwendet wird.

2. Wie kann ich mein VBS-Script automatisiert ausführen?
Du kannst den Windows Aufgabenplaner verwenden, um das VBS-Script zu einem bestimmten Zeitpunkt oder bei bestimmten Ereignissen automatisch auszuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige