Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA Excel:列出备份(上一版本)文件夹中的文件_Excel_Vba_Windows 7 X64_Special Folders - Fatal编程技术网

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

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列出备份文件夹文

下面是一个非常简单的代码,用于列出指定文件夹中的文件。它按预期工作。 但是,当我提供此文件夹的一个备份文件夹时,它抛出无效路径(从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创建备份的格式。不幸的是,我无意改变这一点。备份文件夹名称将包含冒号。是否有方法规范化并引用备份文件夹?谢谢你,我现在不知道了。我认为冒号仍然是你的问题,但我不知道如何解决它。是否可能是另一个看起来像冒号但实际上是其他字符?请看这里的第二和第三个答案:我上传了一些截图。括号中的任何字符,脚本都无法列出该文件夹的文件