尽管只读状态为

时间:2018-03-27 16:48:34

标签: excel-vba readonly excel-2016 before-save vba

我创建了一个基本上空白的工作簿,其中包含许多宏,这些宏从变量源(“仪表板”)加载数据。使用workbook_beforesave事件,我将Save选项劫持到一个函数中,该函数将数据保存为单独的.csv文件,然后可以在打开时将其加载到工作簿中。仪表板存储在共享驱动器上,最终用户可以在该驱动器上访问它。我有测试版和实时版。

当一个最终用户开始离开仪表板(锁定它),甚至以某种方式禁用事件并使用他们的数据保存空白工作簿时,问题就开始了。很容易从测试版本恢复,但很烦人。

在服务器上将文件设置为只读会产生许多无法解决的问题(服务器受密码保护,excel只是反复询问访问凭据)。

我的解决方案是在workbook_open事件中插入以下行:

If Left(ThisWorkbook.Name, 4) <> "TEST" Then ThisWorkbook.ChangeFileAccess Mode:=xlReadOnly

这造成了另一个问题。现在,当我单击Save按钮时,直到我在“无法保存,因为它是只读”通知上单击OK,然后选择了一个文件夹,才会触发workbook_beforesave事件保存它。

DisplayAlerts没有删除“无法保存”通知。

问题:我可以通过编程方式直接进入我的保存宏,解除警报并避免文件夹选择步骤吗?或者我是否需要创建自己的Save按钮并完全回避问题?

0 个答案:

没有答案