Excel Macro mit VBScript ausführen ohne Excel öffnen Schleife für mehrere Dateien

  • VBScript

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von petaod.

    Excel Macro mit VBScript ausführen ohne Excel öffnen Schleife für mehrere Dateien

    Hallo zusammen,

    ich bin auf der Suche nach Hilfe für ein Problem mit Excel bzw. eine Lösung außerhalb von Excel.

    Ich bearbeite täglich ca.30 individuelle Dateien mit Excel. Jede Datei wird zum Abschluss als xlsb in einem Standardordner gespeichert. n einem finalen Mako werden - immer gleich für jede Datei - Einzelne Blätter getrennt, in pdf gespeichert und eine Statistik angelegt. Das alles funktioniert über ein Makro "Speichern", was bei allen Dateien vorhanden ist und immer gleich heißt. Die einzelnen Dateien selber heißen immer anders, aber haben immer das suffix *GA.XLSB.

    Das makro dauert leider etwas lange, weshalb ich gerne im batch für alle Dateien in einem Ordner das makro jeweils in einer Schleife nacheinander für jede Datei starten würde.; allerdings ohne Excel zu öffnen. Sprich mir die Zeit einsparen und am Ende für alle 30 Dateien jeweils das MAkro einmal ausführen.


    Ich bin Anfänger und habe im Netz für das öffnen eines Makros außerhalb von Excel schon mal diesen Part gefunden.


    Visual Basic-Quellcode

    1. Set objExcel = CreateObject("Excel.Application")
    2. objExcel.Application.Run "'C:\Users\Ryan\Desktop\Sales.xlsm'!SalesModule.SalesTotal"
    3. objExcel.DisplayAlerts = False
    4. objExcel.Application.Quit
    5. Set objExcel = Nothing


    Allerdings muss man hier den Namen der Datei jeweils haben und es läuft ja auch nur einmal für eine Datei.

    Für Excel habe ich was gefunden, was durch alle Dateien läuft. Allerdings aus Excel und jedes file wird geöffnet :(

    Visual Basic-Quellcode

    1. Sub AllFiles()
    2. Dim folderPath As String
    3. Dim filename As String
    4. Dim wb As Workbook
    5. folderPath = "C:\SAP Imports\Sales Orders\" 'change to suit
    6. If Right(folderPath, 1) <> "\" Then folderPath = folderPath + "\"
    7. filename = Dir(folderPath & "*.ped")
    8. Do While filename <> ""
    9. Application.ScreenUpdating = False
    10. Set wb = Workbooks.Open(folderPath & filename)
    11. 'Call a subroutine here to operate on the just-opened workbook
    12. Call 'name of your other macro here
    13. filename = Dir
    14. Loop
    15. Application.ScreenUpdating = True
    16. End Sub



    Meine Bitte wäre es etwas zusammenzustellen, was das Makro pro Datei in dem Ordner mit der Endung GA.XLSB ausführ ohne Excel jeweils zu öffnen.


    Vielen Dank und Gruss

    Christian (willoserus) :thumbsup:

    *Topic verschoben, BBCode eingefügt*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()