2015-09-11 80 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參數,並且用戶能夠保存。