我创建了宏以从Sharepoint位置自动打开,编辑,保存和关闭多个Excel工作簿。下面的代码打开工作簿( path 遍历列表以击中每个工作簿名称):
Workbooks.Open Filename:=path, ReadOnly:=False, Editable:=True
但是,文件以只读模式打开,并且“启用编辑”的黄色对话框选项根本没有出现。
file appears like a normal Read-Only file without the option to Enable Editing
我仍然可以通过宏手动编辑这些工作簿,但是之后如果不另存为新文件,便无法将文件保存回Sharepoint。
我当前正在使用Excel2013。大约一年前,它已按预期工作,但是我认为可能已对Office 365进行了更新。我检查了所有Excel工作簿安全性选项,默认情况下未设置任何打开项为只读。
是否可以通过宏使文件以可编辑的方式打开,或者至少允许每个工作簿都显示“启用编辑”选项?
答案 0 :(得分:1)
我一直在尝试解决文件的相同问题,最终做到了!所以我觉得我也许可以让其他人知道。而且这个古老的话题出现在我的Google搜索顶部附近。
对我来说,解决该问题的方法是编辑链接。
来自:
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
请注意,我仅使用replace来摆脱:x:/ r / 。我觉得我之前应该已经注意到这一点,但是我没有,也没有过多地干预工作簿。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文件。因此,如果您通过宏打开文件后仍然可以这样做,请尝试类似的解决方案。
答案 1 :(得分:0)
为Excel-OneDrive-SharePoint设计的交互是2016年应用程序中的新增功能,该版本是正常工作的必要条件。
版本2013可以通过调整有关Office共同创作配置的OnDrive“帐户”设置来工作,该设置专门适用于Excel和Word
右键单击任务栏中的OneDrive图标以进行设置
祝你好运!
答案 2 :(得分:-1)
打开后在代码中添加“ ActiveWorkbook.LockServerFile”时,出现应用程序定义或对象定义的错误。
这是我的代码: 打开文件名:= FilePath&WBName,ReadOnly:= False,可编辑:= True ActiveWorkbook.LockServerFile
我也尝试添加: ActiveWorkbook.ChangeFileAccess模式:= xlReadWrite 但这告诉我工作簿已被锁定,无法由“另一个用户”编辑。
当我关闭excel并从SharePoint中手动打开工作簿时,它会打开以进行更新,并且我可以保存工作簿。
我正在在线使用Office 365和SharePoint