我有这个错误信息,我完全迷失了......
我想我检查了一切可能出错的地方,也许你们其中一个人可以看到错误或其他什么。我的大脑现在完全被阻挡了。
提前致谢
Option Explicit
Public newestFile As Object
Sub Scan_Click()
Dim path As String
Dim row As Integer: row = 2
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("ETA File Server")
With ws
Do
If .Cells(row, 1).Value = "" Then Exit Do
path = .Cells(row, 1).Value
Application.StatusBar = "Processing folder " & path
DoEvents
If .Cells(row, 1).Value <> "Root" Then
Call getNewestFile(path)
.Cells(row, 9).Value = newestFile.DateLastModified
.Cells(row, 10).Value = newestFile.Name
Set newestFile = Nothing
row = row + 1
Else
row = row + 1
End If
Loop
End With
Application.StatusBar = "Done"
End Sub
Private Sub getNewestFile(folderpath As String)
Dim objFSO As Object, objFolder As Object, objFile As Object
'get the filesystem object from the system
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(folderpath)
'go through the subfolder and call itself
For Each objFile In objFolder.SubFolders
Call getNewestFile(objFile.path)
DoEvents
Next
For Each objFile In objFolder.Files
If newestFile Is Nothing Then
Set newestFile = objFile
ElseIf objFile.DateLastModified > newestFile.DateLastModified Then
Set newestFile = objFile
End If
Next
End Sub
答案 0 :(得分:1)
当我尝试访问的文件位于SharePoint中时,出现此错误。 解决方法是,我将在资源管理器视图中打开该链接(SharePoint链接-库-连接和导出-使用资源管理器打开)。一旦在资源管理器视图中拥有SP,它就可以平稳运行。 要解决此问题,我们必须将该SP链接映射到驱动器,然后调用驱动器地址而不是SP链接。 链接-Get the content of a sharepoint folder with Excel VBA
答案 1 :(得分:0)
好吧,我找到了答案! Windows只能处理255个字符...
下的路径所以你要做的就是在路径之前添加\?\,例如在服务器adressen上添加\\?\c:\users
你必须添加\?\ unc - &gt; \\?\unc\servername\path
答案 2 :(得分:0)
这可能是由于文件夹名称较长而造成的要复制的文件的子文件夹。
尝试在复制之前减少所有文件夹/子文件夹名称的长度。
它解决了我的问题,也希望解决你的问题。
此致
答案 3 :(得分:0)
我的症状完全相同,但是无法理解,我可以通过取消选中“以管理员身份运行”来启动应用程序的快捷方式来消除症状:\
也许这对于经历相同症状的人很有帮助,而没有其他帮助。