当我在excel中的窗口之间切换时,我可以看到WindowActivate事件在不同级别触发,但是当excel成为前台应用程序时有没有办法触发事件?如果我单击excel并工作,例如在浏览器中工作一段时间,然后单击返回到Excel窗口,我看不到任何事件触发.有没有办法检测到这个?
我想刷新我的VBA应用程序的一些元素,因为偶尔我会发现基于超文本函数的鼠标悬停功能失去了激活图表的能力.我可以通过取消保护和保护工作表,或通过废弃和重新初始化我的对象的子集来解决它.我想在我正在寻找的事件上触发此操作.
我也可以通过SendKeys做到这一点,但它并不好,因为它消除了键盘设置(例如滚动锁定),因为SendKeys中记录的错误,它使屏幕闪烁超过我想要的.
由于代码将驻留在VBA中,因此我会将操作限制为特定的工作簿.如果在进入Excel实例窗口时激活了另一个(被动)工作簿,则不会触发任何操作,并且当用户选择包含它的工作簿时,我可以使用WorkbookActivate事件刷新应用程序.