You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用VBA通过URL加载读取SharePoint中存储的Excel工作簿?

VBA访问SharePoint文件报错「运行时错误76」修复方案

报错原因

  • Scripting.FileSystemObject 仅支持本地路径、映射网络驱动器路径,无法识别HTTP/HTTPS格式的SharePoint链接
  • 你当前使用的是带查询参数的SharePoint分享链接,不是VBA可识别的纯净文件路径

修复步骤

  1. 转换SharePoint链接格式:
    将带参数的分享链接转换为WebDAV路径,规则如下:
  • 把开头的https://替换为\\
  • 把链接中?之后的所有查询参数全部删除
  • 把URL编码的特殊字符替换为原始字符:%20替换为空格,%C3%B8替换为ø
    你提供的链接转换后结果为:
    \\ncconline.sharepoint.com\sites\HerculesDanmark\DE\Dynamisk ankertabel\Ankertabel\Godkendelsesforsøg_skabelon.xlsm
  1. 替换FSO复制逻辑,直接用Workbooks.Open打开SharePoint路径的文件,或者打开后另存为本地临时文件。

修改后可用代码

Private Sub GenererTestjournaler_Click()
    
    Dim i As Long
    Dim Directory As String, TempDirectory As String
    Dim wbTemplate As Workbook
    
    ' 转换后的SharePoint WebDAV路径
    Directory = "\\ncconline.sharepoint.com\sites\HerculesDanmark\DE\Dynamisk ankertabel\Ankertabel\Godkendelsesforsøg_skabelon.xlsm"
    TempDirectory = "C:\\" & Environ("UserName") & "\\Documents\\Temp_template.xlsm"
            
    On Error Resume Next
    Kill TempDirectory
    On Error GoTo 0

    ' 直接打开SharePoint上的模板文件,无需FSO复制
    Set wbTemplate = Workbooks.Open(Directory)
    ' 如果需要本地副本,打开后另存为即可
    wbTemplate.SaveAs TempDirectory

    ' 原有后续逻辑保持不变
    ' ... 
End Sub

注意事项

  • 确保当前Windows账号已登录对应SharePoint站点,且有文件读取权限
  • 若路径仍无法识别,可先将路径粘贴到资源管理器地址栏手动访问,确认路径有效后再代入代码

内容的提问来源于stack exchange,提问作者Jonathan Møller Jørgensen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 07:45:08