我已经对此进行了大量研究,并找到了许多帮助网站,但仍然无法理解为什么这有时不起作用。
我正在尝试访问一个sharepoint站点(对我没有限制),并提取该站点内文件夹中的所有文件。
有时候我的路径会起作用而它会这样做,有时则不行。我有一种感觉,如果我之前在我的浏览器上进入sharepoint网站但无法确认(因为我现在再次尝试它并且它不起作用ARGGH)。但是下面的代码在过去一直有效。
下面的文件系统对象功能失败了
Public Function GetFullFileName(strfilepath As String, _
strFileNamePartial As String) As String
Dim objFS As Variant
Dim objFolder As Variant
Dim objFile As Variant
Dim intLengthOfPartialName As Integer
Dim strfilenamefull As String
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder(strfilepath)
'work out how long the partial file name is
intLengthOfPartialName = Len(strFileNamePartial)
For Each objFile In objFolder.Files
'Test to see if the file matches the partial file name
If Left(LCase(Replace(objFile.Name, " ", "")), intLengthOfPartialName) = LCase(strFileNamePartial) Then
'get the full file name
strfilenamefull = objFile.Name
Exit For
Else
End If
Next objFile
'Return the full file name as the function's value
GetFullFileName = strfilenamefull
End Function
当它到达GetFolder(strfilepath)代码时,我收到“运行时错误'76':找不到路径”
strfilepath只是一个普通的共享点网站名称(例如像\ teams.uk \ gm \ FX \ SharedDocuments \ London \ 11)2013年11月\ 11月20日\报告)
如上所述,我尝试过不同的文件路径变体,包括DavWWW,但似乎没有任何工作,我不知道还有什么可以尝试。
请问任何建议?
由于
Raiyan
答案 0 :(得分:0)
必须使用FileSystemObject启动webclient服务以访问SharePoint。
首次登录时,通常不会启动此服务。但是,当您通过普通用户界面访问SharePoint时,它就会启动。我认为这就是你的代码工作不一致的原因。
如果您拥有本地计算机的管理员权限,则可以手动启动该服务(或使用代码)。但是,如果你没有权利,那么你可以试一试 - 它很笨拙但有效。
使用VBA代码在资源管理器视图中打开已知的SharePoint文件夹,然后将其关闭。这将触发webclient启动。