Excel-VBA-FSO.GetFolder(folderPath) arbeiten in 2007, aber nicht 2010
So, ich bin Recht neu in VBA.
Den code unten funktioniert gut im Jahr 2007 für die Auflistung aller PDF files
in einem bestimmten Ordner. Jedoch, dieser code scheint nicht zu funktionieren, wenn ich versuche es in excel 2010 (es wirft einen Fehler auf Set fold = fso.GetFolder(folderPath)
)
Irgendwelche Ideen Was ich falsch mache?
Ich habe Scripting Runtime aktiviert. Mein code ist unten:
Sub List_files()
Dim fso As FileSystemObject
Dim fold As Folder
Dim f As File
Dim folderPath As String
Dim i As Integer
folderPath = "S:\Academic Affairs\Academic Operations Reporting\CV's"
Set fso = New FileSystemObject
Set fold = fso.GetFolder(folderPath)
i = 2
For Each f In fold.Files
If LCase(Right(f.Name, 3)) = "pdf" Then
Range("A" & i).Value = f.Name
i = i + 1
End If
Next
End Sub
- Was bedeutet der Fehler sagen?
- Hast du den richtigen Referenzen ?
- Ich lief Ihr code auf meiner Maschine mit XL 2010 gut gearbeitet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie brauchen einen "\" auf der folderPath variable... so, dass es
folderPath = "S:\Academic Angelegenheiten\Akademische Operations Reporting\CV' s\"
Wenn das nicht beheben, dann poste die Fehlermeldung, die Sie bekommen.
Hier ist eine Prozedur, die ich verwenden für die Auflistung von Dateien:
Die Funktion ist nur für den internen Gebrauch, Sie die Prozedur aufrufen. Hier ist ein Beispiel-Aufruf (in diesem Fall mit der windows-Umgebungsvariable userprofile, wie der Weg, anstatt eine hartcodierte Pfad):
Immer, wenn die Dinge nicht so funktionieren wie Sie "sollten" es ist sehr produktiv, um zu starten mit einem minimalen Konzept, das funktioniert und bauen von dort aus.
Versuchen Sie dieses, das funktioniert in Excel 2016:
Verwenden: