Wenn ich eine PowerQuery-Funktion erstellt habe, die XML aus einem Ordner importiert, verwende ich die Abfrage in der gleichen Excel-Datei erneut, wenn neue Dateien im Ordner enthalten sind, um nur Daten aus diesen neuen Dateien aufzunehmen Dateien und hängen Sie die Daten an die aktuelle Tabelle an?PowerQuery - Ordnerabfrage neue Dateien importieren
Antwort
sehen Wenn Sie einen Power-Abfrage starten Mit Von Datei/Von Ordner und zu Ihrem Ordner durchsuchen, sehen Sie jede Datei als eine Zeile in einer Tabelle mit Spalten wie Datum dargestellt modifiziert. Sie können diese Liste filtern, indem Sie die Datum/Zeit-Filter am Änderungsdatum verwenden oder, wenn nötig, etwas komplizierteres (posten Sie Ihre spezifischen Anforderungen und ich werde versuchen, Sie in die richtige Richtung zu lenken).
Sobald Sie die Abfrage nur auf die "neuen Dateien" gefiltert haben, können Sie die Spalte [Inhalt] in Ihre Funktion übernehmen.
Schließlich fügen Sie eine neue Abfrage basierend auf der gespeicherten Excel-Tabelle Ausgabe von Ihrer vorhandenen Abfrage zusammen mit der Abfrage "neue Dateien" oben, um Ihre kombinierte Ausgabe zu erhalten. Die neue Abfrage wäre auf Load To/Only Create Verbindung festgelegt.
Sie können einen Ordner für Dateiänderungen mit einem einfachen VBA-Skript überwachen, das WMI verwendet, um den Verzeichnisinhalt alle n Sekunden abzufragen.
Etwas ähnlich wie diese ...
Sub WatchDirectory(dir as string, every as integer)
Set wmisvc = GetObject("winmgmts:\\.\root\cimv2")
let query = "SELECT * FROM __InstanceOperationEvent " _
& "WITHIN " & every _
& " WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and " _
& "TargetInstance.GroupComponent='Win32_Directory.Name=" _
& Chr(34) & dir & Chr(34) & "'"
Set events = wmisvc.ExecNotificationQuery(query)
Do While True
Set event = events.NextEvent()
if event.Class = "__InstanceCreationEvent" then
....
end if
Loop
Für weitere Informationen über wmi https://sites.google.com/site/beyondexcel/project-updates/exposingsystemsecretswithvbaandwmiapi
Weitere Informationen zu Datei, mit WMI beobachten, https://blogs.technet.microsoft.com/heyscriptingguy/2005/04/04/how-can-i-monitor-for-different-types-of-events-with-just-one-script/
Um zu wissen, was eine neue Datei ist, müssen Sie aufzeichnen, was eine alte Datei ist. Eine einfache Möglichkeit besteht darin, die Dateien nach dem Importieren aus dem Importordner zu verschieben. PowerQuery ist gut, aber diese Art von Sache eignet sich besser für ein Data Warehouse. –