在一段时间不活动(隐藏/保护某些工作表)后,我想在 Excel 工作簿宏中执行操作。实现这一目标的最佳/最简单方法是什么?
Í假设我会Application.OnTime
定期检查用户是否处于活动状态。但是我应该处理哪些事件来查看用户是否“活跃”(即对工作簿做了什么 - 任何事情)?
澄清:我想检测所有活动,而不仅仅是变化。即包括鼠标点击、选择、复制、使用键盘导航、更改工作表、...
我假设当代表用户活动的 UI 事件发生时,我将设置一个变量:
LastActivityTime = Now
并且运行的宏Application.OnTime
将检查此变量以查看用户最近是否处于活动状态。SheetChange
我需要处理哪些事件(除了)来设置这个变量?我有点希望会有事件KeyUp
,MouseUp
这两个可能就足够了。
更新:我已经通过处理Workbook_SheetActivate
,Workbook_SheetSelectionChange
和Workbook_WindowActivate
. 实际上,这可能就足够了。