【发布时间】:2018-07-25 15:54:29
【问题描述】:
我有一个挠头。一位客户正在使用 Excel 2016 (16.0.9126.2259) 32 位。 Office 版本 1803(它们在半年更新频道上)使用托管计算机公司基础架构分发。
Snagit 屏幕截图 https://www.screencast.com/t/BPANvVq8
您可以看到上面的视频。当我单击“保存”按钮时,Workbook_BeforeSave 事件会正常触发,并且代码会按预期运行。自定义保存功能的一部分是隐藏除一张以外的所有工作表(视频中的 0:10 并且有公司徽标并显示“范围”),然后保存文件,然后重新显示所有工作表。这再次按预期工作。 (它还使用 ThisWorkbook.SaveAs 创建文件的备份,效果很好)
但是,当我单击 Control+s 键盘快捷键(视频中的 0:23)保存文件时,Workbook_BeforeSave 会按预期触发并且代码会运行(我可以单步执行所有代码),但没有任何反应。即使执行了该代码,工作表也不会隐藏。执行 ThisWorkbook.Save 时不保存文件。备份文件代码运行,但未创建 SaveAs 文件。
相同的代码在我运行 v1806/64bit 的测试 VM 机器上运行良好,使用保存按钮或键盘快捷键。我还没有启动 32 位 vm 来测试它。
所有 VBA 引用都很好,我认为这不是编码问题,因为单击“保存”按钮时宏运行良好。它在使用键盘快捷键时不起作用(即使事件正在触发)。很奇怪。具有相同计算机版本的同一客户端的另一个用户正在经历同样的事情。
有什么想法吗?我已经要求他们尝试尽快推出 v1806,但不确定他们会以多快的速度继续前进。
【问题讨论】:
-
我曾经遇到过类似的问题,但在 2010 年。原来它是由 Google Drive-Plug-in für Microsoft Office 引起的 - 卸载它解决了我的问题。
标签: vba excel excel-2016