[英]Opening Excel file from Sharepoint as Read-Write
我从 Sharepoint 位置自动打开、编辑、保存和关闭多个 Excel 工作簿。 以下代码打开工作簿(路径遍历列表以点击每个工作簿名称):
Workbooks.Open Filename:=path, ReadOnly:=False, Editable:=True
文件以只读模式打开,并且不会出现启用编辑的黄色对话框选项。
我手动并通过宏编辑这些工作簿,但之后我无法将文件保存回 Sharepoint,而无需另存为新文件。
我正在使用 Excel 2013。这在大约一年前按预期工作,但我相信 Office 365 可能已经更新。我检查了所有 Excel 工作簿安全选项,并且没有设置为默认打开为只读.
有没有办法通过宏以可编辑模式打开文件,或者至少允许为每个工作簿显示启用编辑选项?
我一直在尝试为我的文件解决同样的问题,最终做到了! 所以我觉得我也许可以让别人知道。 这个古老的线程出现在我谷歌搜索的顶部附近。
对我来说修复它的是编辑链接。
来自: https://Company.sharepoint.com/:x:/r/teams/TeamNo/Shared%20Documents/Example/CoolFolder/TheBestExcelFile.xlsm
: https://Company.sharepoint.com/:x:/r/teams/TeamNo/Shared%20Documents/Example/CoolFolder/TheBestExcelFile.xlsm
: https://Company.sharepoint.com/:x:/r/teams/TeamNo/Shared%20Documents/Example/CoolFolder/TheBestExcelFile.xlsm
: https://Company.sharepoint.com/:x:/r/teams/TeamNo/Shared%20Documents/Example/CoolFolder/TheBestExcelFile.xlsm
至: https://Company.sharepoint.com/teams/TeamNo/Shared%20Documents/Example/CoolFolder/TheBestExcelFile.xlsm
: https://Company.sharepoint.com/teams/TeamNo/Shared%20Documents/Example/CoolFolder/TheBestExcelFile.xlsm
请注意,我只使用 replace 来摆脱:x:/r/ 。 我觉得我之前应该注意到这一点,但我没有,并且没有多少对 Workbook.Open 参数的干预让我在任何地方。 默认链接复制内容为您提供了一个带有特殊命令的内容,这似乎很奇怪。 对于我们公司来说,大多数文件夹都有空格,所以链接中有大量的“%20”,所以我只需阅读“:x:/r/”。
希望它可以帮助某人。
为了清楚起见,试试这个:
Sub Example()
'1.) Get filepath from somewhere
FilePath = Replace("https://Company.sharepoint.com/:x:/r/teams/TeamNo/Shared%20Documents/Example/CoolFolder/TheBestExcelFile.xlsm", ":x:/r/", "")
'2.) Open the file
Set StatisticsFile = Workbooks.Open(FileName:=FilePath, Password:="123")
'3.) Do things
'4.) Close the Sheet, save the changes. I simply like it this way, could be done in a single line.
StatisticsFile.Save
StatisticsFile.Close savechanges:=False
End Sub
我注意到了这个解决方案,因为如果我导航到 SaveAs,我仍然可以使用相同的名称手动保存 .xlsx 文件。 因此,如果你们在通过宏打开文件后仍然可以这样做,请尝试类似的解决方案。
为 Excel-OneDrive-SharePoint 设计的交互是 2016 应用程序中的新功能,该版本是正常工作的必要条件。
2013 版可以通过调整有关 Office 共同创作配置的 OnDrive“帐户”设置来工作,该设置专门应用于 Excel 和 Word
右键单击任务栏中的 OneDrive 图标以访问设置
祝你好运!
我知道您的查询很久以前就已发布,但我找到了删除只读阻止程序并通过宏更新 excel 文档的解决方案:
如果在打开文件的代码后添加“ActiveWorkbook.LockServerFile”,那么它会删除只读并正常更新excel。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.