Pause einbauen in Makro
19.05.2021 11:22:44
Maxi
durch die Hilfe im Forum habe ich bereits fast das, was ich auch haben möchte. Es geht um folgendes: Ein Makro, das mir verschiedene Excel-Dateien öffnet und das wiederum darin enthaltene Makro ausführt. Soweit funktioniert das auch, nur habe ich das Problem, dass die 5 Excel-Dateien nach dem öffnen Zeit benötigen, um sich selbst zu aktualisieren, das Makro darf also für jede Datei erst nach circa 10 Sekunden ausgeführt werden, sonst werden die generierten Emails mit einem Anhang verschickt, der nicht aktuell ist. Ich möchte also verhindern, alle Dateien erst zu öffnen, auf die Aktualisierung zu warten (geschieht automatisch) und jede separat zu speichern um dann das u.g. Makro auszuführen. Wie bekomme ich die Pause zwischen öffnen der Dateien und ausführen des enthaltenen Makros?
Danke!!!
Grüße Maxi
Public Sub Main()
Call DateiOeffnen("FirmaXY1", "Makro1")
Call DateiOeffnen("FirmaXY2", "Makro2")
Call DateiOeffnen("FirmaXY3", "Makro3")
Call DateiOeffnen("FirmaXY4", "Makro4")
Call DateiOeffnen("FirmaXY5", "Makro5")
End Sub
Public Sub DateiOeffnen(strFilename As String, strMakroname As String)
Const FOLDER_PATH As String = "Ordnerpfad"
Dim objWorkbook As Workbook
Set objWorkbook = Workbooks.Open(Filename:=FOLDER_PATH & strFilename)
Call Application.Run("'" & objWorkbook.Name & "'!" & strMakroname)
Call objWorkbook.Close(SaveChanges:=False)
Set objWorkbook = Nothing
End Sub