2 我正在使用Application.OnKey在电子表格中轻松运行一些宏。当电子表格退出时,它通过将键设置为空来释放键。 但是,当时可能还有其他电子表格要使用相同的键打开,因此我希望能够将OnKey设置为电子表格打开时的状态。 是否可以将当前过程设置为OnKey(如果存在),以便稍后再设置? 我使用的是Excel 2010,但如有需要,可以移至2013或2016。 谢谢! microsoft-excel vba — 保罗 source
1 由于OnKey在应用程序级别起作用,因此您必须进行一些特殊的内务处理。 与其让每个工作簿尝试保存和还原其他工作簿的OnKey设置,不如使用工作簿的“激活事件”清除所有当前OnKey设置并OnKey为该工作簿建立环境。 当您在一组打开的工作簿之间转移焦点时,每个工作簿都会设置所需的环境。 当您打开工作簿时,它将同时运行“打开事件”和“激活”事件。因此,在这种情况下,环境设置也将起作用。 — 加里的学生 source