VBA Excel:列出备份(上一版本)文件夹中的文件

时间:2015-04-24 20:21:14

标签: excel vba windows-7-x64 special-folders

下面是列出指定文件夹中文件的非常简单的代码。它按预期工作。 但是,当我提供此文件夹的备份文件夹之一时,它会抛出无效路径(从win explorer窗口复制的备份文件夹路径)。

例如为: 设置objFolder = objFSO.GetFolder(" D:\ Test")**'效果很好 设置objFolder = objFSO.GetFolder(" D:\ Test(2015.2.12 3:12 PM)")'不工作。这是Win7创建的文件夹测试的先前/备份版本

有没有办法在Excel中使用VBA列出备份文件夹文件?

Sub Example1()
Dim objFSO As Object
Dim objFolder As Object
Dim objFile As Object
Dim i As Integer

'Create an instance of the FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Get the folder object
Set objFolder = objFSO.GetFolder("D:\Test")
'Set objFolder = objFSO.GetFolder("D:\Test (2015.2.12 3:12PM)") throws error

i = 1
'loops through each file in the directory and prints their names and path
For Each objFile In objFolder.Files
    'print file name
    Cells(i + 1, 1) = objFile.Name
    'print file path
    Cells(i + 1, 2) = objFile.Path
    i = i + 1
Next objFile
End Sub

备份文件夹的外观如下:

enter image description here enter image description here enter image description here

当我复制路径并粘贴它时,有些?字符出现在括号中: \ localhost \ C $ \ Users \ IBALLA1 \ Downloads(?Friday,?April?17,?2015,?? 9:05 AM)

1 个答案:

答案 0 :(得分:0)

您无法在文件名或文件夹名称中使用冒号。 :您在文件夹名称中的时间不能创建,也不能存在。我不知道你的问题是否是一个错字。