gpt4 book ai didi

vba - SENDKEYS 语句执行失败

转载 作者:行者123 更新时间:2023-12-04 22:01:14 28 4
gpt4 key购买 nike

我正在使用以下过程作为 OnTime 方法的一部分:

Public Sub Countdown()
ThisWorkbook.Activate
SendKeys ("{ESC}")
ThisWorkbook.Close False
End Sub

这里的想法是在特定时间段过去后关闭工作簿;如果工作簿处于编辑模式,“SendKeys ("{ESC}")”语句应该取消激活编辑模式。问题是它不这样做!一旦我手动按下“ESC”按钮,我的程序才会运行。
如果您能帮助我理解我在这里做错了什么,我将不胜感激。

更新:
根据@Jeeped 的建议,我通过添加 DoEvents 更新了上面的代码。线:
Public Sub Countdown()        
ThisWorkbook.Activate
SendKeys ("{ESC}")
DoEvents
ThisWorkbook.Close False
End Sub

我注意到的是,只有当我通过简单地按下创建的表单控制按钮手动运行它时,这个过程才有效(在编辑模式下)。
为什么它不作为代码的一部分运行是我无法理解的。

最佳答案

有时您需要允许应用程序处理其 消息队列 .贴个DoEvents SendKeys ("{ESC}")之间和 ThisWorkbook.Close False .

Public Sub Countdown()
ThisWorkbook.Activate
SendKeys ("{ESC}")
DoEvents
ThisWorkbook.Close False
End Sub

关于vba - SENDKEYS 语句执行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34715031/

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