Guten Tag Miteinander, dies ist mein erster Forumseintrag. Falls ich gegen gewisse Netiquette verstosse bitte ich um Verzeigung.
Ich verwende Microsoft 365, Excel-Dateien die ich öffnen möchten sind im .xlsx Format
Situation:
Ich habe einen Ordner mit Excelfiles welche Daten aus einem Powerquerry importieren. Wenn die Dokumente von Hand einzeln geöffnet werden Aktualisieren sich die Mappen. Wenn ich die Dokumente aus dem VBA Öffne findet kein Datenimport Statt. Wenn man die Tastenkombination ctrl Alt F5 verwendet kann man den Datenimport von Hand aktualisieren. Aus dem VBA reagieren Meine Excel Files nicht auf den Befehl.
Fragestellung:
Wieso reagieren die Dokumente nicht auf den Datenimport, wenn ich die Dokumente öffnet?
Wieso reagieren die Dokumente nicht auf die Tastenkombination?
Nice to Have: Gibt es eine Möglichkeit wie man direkt abfragen kann was der Ladestatus ist?
Sub Data_IN_laden()
Dim folderPath As String
Dim fileName As String
Dim wb As Workbook
' folder path
folderPath = "\Dies\ist\mein\Pfad\"
' Kontrolle ob ordner existiert
If Dir(folderPath, vbDirectory) = "" Then
MsgBox "Folder does not exist: " & folderPath, vbExclamation
Exit Sub
End If
' Loope durch alle Files im Ordner
fileName = Dir(folderPath & "*.xlsx")
Do While fileName <> ""
' Kontrolle ob file schon geöffnet ist
If IsWorkBookOpen(fileName) Then
' File ist geöffnet, save und schliesse
Set wb = Workbooks(fileName)
wb.Save
wb.Close
Else
' File ist nicht geöffnet, öffne es
Set wb = Workbooks.Open(folderPath & fileName)
' Send keys to simulate pressing Ctrl + Alt + F5
'Application.SendKeys "^%{F5}"
End If
' Get next file
fileName = Dir
Loop
MsgBox "Alle In-Daten Files geöffnet/gespeichert und geschlossen", vbInformation
End Sub
Function IsWorkBookOpen(fileName As String) As Boolean
Dim wb As Workbook
On Error Resume Next
' Try to set the workbook object to check if it's already open
Set wb = Workbooks(fileName)
On Error GoTo 0
' If the workbook is already open, the object is set successfully
IsWorkBookOpen = Not wb Is Nothing
End Function
|