45754
Goto Top

Excel Makro muss alle Dateien im Ordner durchlaufen

Hallo zusammen!

Ich bräuchte ein Excel Makro, dass mir aus jeder XLS Datei (Dateiname ansonsten unbekannt), die in dem Unterordner c:\Input liegt, jeweils die Werte A1; B2;C3 holt und schön spaltenweise in eine Zieldatei c:\ziel.XLS schreibt.

Mit einer Datei kein Problem, aber wie sieht die Schleife aus um durch alle Dateien in einem Ordner zu laufen, wenn die Anzahl und der Dateiname bis auf die Endung .xls nicht bekannt ist?

Vielen Dank für eure Hilfe

Content-Key: 58175

Url: https://administrator.de/contentid/58175

Ausgedruckt am: 28.03.2024 um 14:03 Uhr

Mitglied: bastla
bastla 04.05.2007 um 07:55:54 Uhr
Goto Top
Hallo tooltime!

Eine Möglichkeit wäre das "FileSystemObject" von VBScript:
Const sSourcePath As String = "D:\Daten"  
Dim fso as Object, oFile as Object
Set fso = CreateObject("Scripting.FileSystemObject")  
For Each oFile In fso.GetFolder(sSourcePath).Files
    If LCase(Right(oFile.Name, 4)) = ".xls" Then  
        Application.Workbooks.Open (oFile.Path)
        ...
        ...
    End If
Next

Grüße
bastla
Mitglied: 45754
45754 04.05.2007 um 09:36:46 Uhr
Goto Top
TOP! Vielen Dank face-smile

Das funktioniert in soweit, ...

nur kommt bei meinen Dateien sowohl beim Öffnen von Hand als auch mit Makro folgende Fehlermeldung:

Diese Datei enthält Verknüpfungen zu anderen Dateiquellen
...blabla ...dann die Auswahl:
Aktualisieren ............................ Nicht aktualisieren ........................Hilfe

Ich würde natürlich gerne "Nicht aktualisieren" wählen und das automatisch, aber das Makro zeigt mir auch beim Weg MAKRO AUFZEICHNEN keinen Weg diese Fehlermeldung automatisch beantworten zu lassen.

Habt ihr Ideen?
Mitglied: 45754
45754 04.05.2007 um 09:53:05 Uhr
Goto Top
Lösung geb ich mir gleich selbst:

UpdateLinksAtOpen = True

Die Frage ist nur warum

- True = Nicht aktualisieren
- False = aktualisieren

ist (für mich wäre es umgekehrt logischer) ??

..und ja ich bin mir sicher und hab es schon 5 x ausprobiert ;)