excel - Application.SendKeys "({1068})" 不能与 Application.OnTime 一起使用
问题描述
我正在尝试通过 Application.OnTime 按计划获取宏,如下所示(位于 ThisWorkbook 中):
Private Sub Workbook_Open()
Application.OnTime TimeValue("15:50:02"), "CopyScreen"
End Sub
而“CopyScreen”子如下(位于常规模块中):
Sub CopyScreen()
Application.SendKeys "({1068})", True
DoEvents
ActiveSheet.Paste
End Sub
CopyScreen() 模块在手动提示 (F5) 调用时工作正常,但无论何时通过预定的 Workbook_Open() 子调用它,都会复制黑色屏幕截图。这里有什么想法吗?
解决方案
我让它与这段代码一起工作:
Sub CopyScreen()
Dim sht As Worksheet
Set sht = ActiveSheet
Application.SendKeys "({1068})", True
DoEvents
With sht
.Activate
.Paste
End With 'sht
显然,Excel 在等待设定时间进入睡眠状态时会忘记 ActiveSheet。去搞清楚!
高温高压
结束子
推荐阅读
- javascript - 未捕获的 TypeError:无法在 Chrome 中的 Javascript 中设置属性“innerHTML”为 null
- kubernetes - kunernetes Service 和 Ingress 的区别
- javascript - react-select 2 设置值/标签
- ios - 从使用 MessageKit 创建的 ChatViewController 推送其他 ViewController
- python - Keras Tuner 抛出 InvalidArgumentError
- python - Python Setuptools:添加没有“main”功能的脚本作为“console_scripts”入口点的快速方法
- angular - 无法从 httpclient 获得响应,使用 get 方法
- python - 来自列名的 Seaborn 线条样式
- c++ - 从文件中查找单词并替换到其他文件中
- spring-boot - 升级到 Spring Boot 2.2.2 后,@DirtiesContext 无法正常工作