2015-09-11 59 views
0

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

因此,例如,我的用户有\\<[email protected]\sites\<sitename>\<documentlibrary>映射到她的Z驱动器。

当我使用ThisWorkbook.GetSaveAsFilename结果返回,像这样https://<[email protected]\sites\<sitename>\<documentlibrary>\<filename>.xlsm

的URL进行任何更改之前,我上线

ThisWorkbook.SaveAs Filename:=excelFile 

其中excelFilehttps://<[email protected]\sites\<sitename>\<documentlibrary>\<filename>.xlsm

得到一个运行时错误

我的第一次尝试是对字符串进行一些查找/替换。首先更换https:什么也没有,然后用反斜杠\替换正斜杠/使它像一个文件路径,像这样:

\\<[email protected]\sites\<sitename>\<documentlibrary>\filename.xlsm

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

上传失败很抱歉,这不起作用。请稍后尝试重新保存 ,如果仍然不能正常工作,请单击保存副本

,我看到文件试图在Microsoft Office上传中心上传,所以这是一种进步。

我似乎无法绕过此上传失败消息。

我已经测试过,通过手动上传我试图自动上传的文件,我对文档库的权限就足够了。

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

我用Excel 2013和Sharepoint 2013年

回答

0

虽然我无法解释它,一些修修补补左右后,我相信我已经找到了解决办法。

更改

ThisWorkbook.SaveAs Filename:=excelFile 

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

似乎使其工作。

我明确设置了FileFormatConflictResolution参数,并且用户能够保存。