gpt4 book ai didi

excel - 使用 VBA 映射 SharePoint 驱动器

转载 作者:行者123 更新时间:2023-12-04 22:16:08 25 4
gpt4 key购买 nike

我正在尝试映射一个 SharePoint 文档库,以便可以使用 FileSystemObject 对其进行解析。
这是我的代码...

Dim objNetwork  As Object

Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "Z:", _
"\\<mydomain>.sharepoint.com\sites\<my_sharepoint_site>\<document_library_site>", _
False, _
"<username>", _
"<password>"

MsgBox "hello"

objNetwork.RemoveNetworkDrive "Z:"
Set objNetwork = Nothing
“mydomain”是我与 Office 365 关联的域
“my_sharepoint_site”是我的主要 SP 站点(与域相同,但其中有大写字母,没有空格)
“document_library_site”是我添加的文档库。它有两个带大写字母和空格的单词,例如“BBC%20新闻”
在文档库的主页上,所有这些都是从 Web 浏览器的地址栏中提取的。
“用户名”和“密码”是我的 Microsoft/Office 365 登录名
我确信我有这些权利。
Z:还不是驱动器。
我得到的错误是......
“运行时错误 '-2147023652 (800704dc)”
“请求的操作未执行,因为用户尚未通过身份验证”

我用谷歌搜索了错误并找到了一个 MS resolution这涉及调整注册表。
https://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/error-access-network-drive-mapped-web-share
我添加了“https://”mydomain“.sharepoint.com”作为我的服务器列表并重新启动了 WebClient 服务,但发生了同样的错误。

我做错了什么,我是否需要以某种方式更改 SharePoint 中的权限?
谢谢
西蒙

最佳答案

这是一个老问题,但我想分享我发现的身份验证问题的解决方案。诀窍是创建一个 FileDialog对象并指向它的InitialFileName到 SharePoint 服务器的 URL,如下所示:

Dim objNetwork  As Object
Dim objFd As FileDialog

Set objFd = Application.FileDialog(msoFileDialogFolderPicker)
objFd.InitialFileName = "https://<mydomain>.sharepoint.com" 'force user authentication
Set objNetwork = CreateObject("WScript.Network")
objNetwork.MapNetworkDrive "Z:", _
"\\<mydomain>.sharepoint.com\sites\<my_sharepoint_site>\<document_library_site>", _
False

MsgBox "hello"

objNetwork.RemoveNetworkDrive "Z:"
Set objNetwork = Nothing
希望这也适用于你。

关于excel - 使用 VBA 映射 SharePoint 驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68891362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com