将 Application.OnKey 返回到先前的状态

将 Application.OnKey 返回到先前的状态

我正在使用 Application.OnKey 在电子表格中轻松运行一些宏。当电子表格退出时,它会通过将键设置为无来释放它们。

但是,当时打开的其他电子表格可能想要使用相同的键,因此我希望能够将 OnKey 设置为电子表格打开时的状态。

我可以将当​​前过程设置为 OnKey(如果存在)以便稍后将其重新设置吗?

我正在使用 Excel 2010,但如果需要的话可以升级到 2013 或 2016。

谢谢!

答案1

由于OnKey功能在应用程序级别,因此您必须做一些特殊的管理。

不要让每个工作簿尝试保存和恢复其他工作簿的OnKey设置,而是使用工作簿激活事件清除所有当前OnKey设置并OnKey为该工作簿建立环境。

当您在一组打开的工作簿之间转移焦点时,每个工作簿都会设置其所需的环境。

当您打开工作簿时,它将同时运行“打开”事件和“激活”事件。因此,环境设置在这种情况下也将起作用。

相关内容