gpt4 book ai didi

vba - 如何检测 Excel 工作簿中的用户不活动

转载 作者:行者123 更新时间:2023-12-03 03:08:46 25 4
gpt4 key购买 nike

我想在一段时间不活动后在 Excel 工作簿宏中执行操作(隐藏/保护某些工作表)。实现这一目标的最佳/最简单方法是什么?

假设我将使用 Application.OnTime 定期检查用户是否处于事件状态。但是我应该处理哪些事件来查看用户是否处于“事件”状态(即对工作簿执行了某些操作 - 任何操作)?

澄清:我想检测所有事件,而不仅仅是更改。 IE。包括鼠标单击、选择、复制、使用键盘导航、更改工作表......

我假设当发生代表用户事件的 UI 事件时,我将设置一个变量:

LastActivityTime = Now

Application.OnTime 运行的宏将检查此变量以查看用户最近是否处于事件状态。我需要处理哪些事件(SheetChange 除外)来设置此变量?我本来希望有 KeyUpMouseUp 事件,这两个可能就足够了。

更新:我通过处理 Workbook_SheetActivateWorkbook_SheetSelectionChangeWorkbook_WindowActivate 实现了这一点。实际上这可能就足够了。

最佳答案

我只能看到两种解决方案 - 要么处理 Application 对象具有的每个单一事件,要么使用 GetLastInputInfo功能。

关于vba - 如何检测 Excel 工作簿中的用户不活动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/170355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com