VBA Excel:列出备份(上一版本)文件夹中的文件
下面是一个非常简单的代码,用于列出指定文件夹中的文件。它按预期工作。 但是,当我提供此文件夹的一个备份文件夹时,它抛出无效路径(从win explorer窗口复制的备份文件夹路径) 例如: setobjfolder=objFSO.GetFolder(“D:\Test”)***工作正常 设置objFolder=objFSO.GetFolder(“D:\Test(2015.2.12下午3:12)”不起作用。这是Win7创建的文件夹测试的早期/备份版本 有没有办法在Excel中用VBA列出备份文件夹文件VBA Excel:列出备份(上一版本)文件夹中的文件,excel,vba,windows-7-x64,special-folders,Excel,Vba,Windows 7 X64,Special Folders,下面是一个非常简单的代码,用于列出指定文件夹中的文件。它按预期工作。 但是,当我提供此文件夹的一个备份文件夹时,它抛出无效路径(从win explorer窗口复制的备份文件夹路径) 例如: setobjfolder=objFSO.GetFolder(“D:\Test”)***工作正常 设置objFolder=objFSO.GetFolder(“D:\Test(2015.2.12下午3:12)”不起作用。这是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
备份文件夹的外观:
当我复制并粘贴路径时,会有一些?字符出现在括号中:
\localhost\C$\Users\IBALLA1\Downloads(?2015年4月17日星期五上午9:05)在文件名或文件夹名中不能使用冒号。在您拥有的时间内,文件夹名称无法创建,也不能已经存在。我不知道你的问题中是否有输入错误。不,这是Win7创建备份的格式。不幸的是,我无意改变这一点。备份文件夹名称将包含冒号。是否有方法规范化并引用备份文件夹?谢谢你,我现在不知道了。我认为冒号仍然是你的问题,但我不知道如何解决它。是否可能是另一个看起来像冒号但实际上是其他字符?请看这里的第二和第三个答案:我上传了一些截图。括号中的任何字符,脚本都无法列出该文件夹的文件