我想在一段时间内处于非活动状态(隐藏/保护某些工作表)后,在Excel工作簿宏中执行操作。什么是最好/最简单的方法来实现这一目标?如何在Excel工作簿中检测用户不活动
假设我将使用Application.OnTime
来定期检查用户是否已被激活。但是,我应该处理哪些事件以查看用户是否“活跃”(即,与工作簿有什么关系)?
说明:我想检测全部活动,而不仅仅是改变。即包括鼠标点击,选择,复制,用键盘导航,改变工作表,...
我假设,当一个UI事件发生表示用户的活动,我将这样一个变量:
LastActivityTime = Now
和由Application.OnTime
运行的宏将检查此变量以查看用户最近是否处于活动状态。我需要处理哪些事件(除SheetChange
以外)来设置此变量?我曾希望有KeyUp
和MouseUp
事件,这两个可能已经足够了。
更新:我已通过处理Workbook_SheetActivate
,Workbook_SheetSelectionChange
和Workbook_WindowActivate
来实施此操作。实际上,这可能就足够了。
谢谢,但我想检测不会更改工作簿的活动。我已经为我的问题添加了一些说明。 – Joe 2008-10-04 14:08:42