无法使用 VBA 将文件保存到 Sharepoint Online(权限错误)
Cannot save file to Sharepoint Online using VBA (Permissions error)
这是我第一次使用 VBA。我有一个命令按钮,应该将文件保存为我的 Sharepoint 在线文档页面。我可以使用 "excel services" 并手动从 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/"
您的代码中缺少最后的 /
导致 FileName
参数无效,因为 path & filename1 & ".xlsx"
的计算结果为
https://xxxxxx.sharepoint.com/sites/xxxxx/Shared Documents[filename1].xlsx
这意味着,如果 /xxxxx
文件夹的权限不受限制,您可能会在该位置编写一个名称错误的 Excel 工作簿。
替代解决方案
可能是您问题的另一种解决方案。在您希望保存新 Excel 文件的位置保存一个空工作簿。打开空的 Excel 文件,然后 运行 您的宏就在那里。将 path
行更改为:
path = ActiveWorkbook.Path & "\"
试试看它是否有效。这就是我解决 Sharepoint 权限问题的方法。
这是我第一次使用 VBA。我有一个命令按钮,应该将文件保存为我的 Sharepoint 在线文档页面。我可以使用 "excel services" 并手动从 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/"
您的代码中缺少最后的 /
导致 FileName
参数无效,因为 path & filename1 & ".xlsx"
的计算结果为
https://xxxxxx.sharepoint.com/sites/xxxxx/Shared Documents[filename1].xlsx
这意味着,如果 /xxxxx
文件夹的权限不受限制,您可能会在该位置编写一个名称错误的 Excel 工作簿。
替代解决方案
可能是您问题的另一种解决方案。在您希望保存新 Excel 文件的位置保存一个空工作簿。打开空的 Excel 文件,然后 运行 您的宏就在那里。将 path
行更改为:
path = ActiveWorkbook.Path & "\"
试试看它是否有效。这就是我解决 Sharepoint 权限问题的方法。