【问题标题】:Workbook.SaveAs Sharepoint IntegrationWorkbook.SaveAs Sharepoint 集成
【发布时间】:2015-09-17 01:28:45
【问题描述】:

我开发了一个 Excel 文件,其中包含一个带有宏的按钮,该宏将为用户保存工作簿。直到最近,当我们迁移到 Sharepoint 并且用户尝试将工作簿保存到映射到 Sharepoint 位置的映射驱动器时,这一直运行良好。

因此,例如,我的用户将\\<server@SSL\sites\<sitename>\<documentlibrary> 映射到她的 Z 驱动器。

当我使用ThisWorkbook.GetSaveAsFilename 时,结果会返回一个类似https://<server@SSL\sites\<sitename>\<documentlibrary>\<filename>.xlsm 的网址

在进行任何更改之前,我遇到了一个运行时错误

ThisWorkbook.SaveAs Filename:=excelFile

其中excelFilehttps://<server@SSL\sites\<sitename>\<documentlibrary>\<filename>.xlsm

我的第一次尝试是对字符串进行查找/替换。首先将https: 替换为空,然后将正斜杠/ 替换为反斜杠\,使其类似于这样的文件路径:

\\<server@SSL\sites\<sitename>\<documentlibrary>\filename.xlsm

这里取得了一些进展。我没有收到 VBA 错误,但确实收到了一条消息:

上传失败我们很抱歉这不起作用。稍后再尝试保存 如果仍然不起作用,请单击保存副本

我在 Microsoft Office 上传中心看到文件正在尝试上传,所以这是进展。

我似乎无法解决这个上传失败消息。

我已通过手动上传我尝试自动上传的文件来测试我对文档库的权限是否足够。

那么,如何使用 ThisWorkbook.SaveAs 将文件保存到 Sharepoint 文档库?

我正在使用 Excel 2013 和 Sharepoint 2013。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    虽然我无法解释,但经过一番修补,我相信我已经找到了解决方案。

    变化

    ThisWorkbook.SaveAs Filename:=excelFile
    

    ThisWorkbook.SaveAs fileName:=excelName, FileFormat:=xlOpenXMLWorkbook, ConflictResolution:=xlUserResolution
    

    似乎让它起作用了。

    我明确设置了FileFormatConflictResolution 参数并且用户可以保存。

    【讨论】:

      猜你喜欢
      • 2017-07-21
      • 2011-03-15
      • 1970-01-01
      • 2010-09-18
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多