无法使用VBA将文件保存到Sharepoint Online(权限错误)

这是我第一次使用VBA。 我有一个命令button,应该是保存一个文件,我的共享点在线文档页面。 我可以使用“excel服务”并手动从excel保存到该文档页面,但是当我在VBA中尝试相同时,它说我没有权限。 下面是我使用的代码,任何意见将不胜感激!

Private Sub CommandButton1_Click() Dim path as string dim filename1 as string path = "https://xxxxxx.sharepoint.com/sites/xxxxx/Shared Documents" filename1 = Range("B3").text activeworkbook.SaveAs FileName:=path & filename1 & ".xlsx", _ FileFormat:=xlopenxmlworkbook End Sub 

如果当前文件与要保存的目标位于同一个文件夹中,请尝试对path定义进行更改:

 path = "https://xxxxxx.sharepoint.com/sites/xxxxx/Shared Documents/" 

在代码中缺less的最后/导致FileName参数无效,因为path & filename1 & ".xlsx"计算结果为

 https://xxxxxx.sharepoint.com/sites/xxxxx/Shared Documents[filename1].xlsx 

这意味着如果权限没有被限制在/xxxxx文件夹上,那么您将在该位置写入一个命名错误的Excel工作簿。


替代解决scheme


可能是您的问题的另一种解决scheme。 将一个空的工作簿保存在您希望保存新Excel文件的位置。 打开空的Excel文件,并在那里运行你的macros。 将path行更改为:

 path = ActiveWorkbook.Path & "\" 

试试看看它是否有效。 这是我如何解决Sharepoint权限问题。