excel - Excel VBA - Application.OnTime 未运行
问题描述
我想要一些帮助来理解为什么函数doSomething没有运行。
计算模式为自动
Sub Test()
check = 0
Debug.Print "Timer_1: " & Now()
Call runFromNow("doSomething", "00:00:05")
Do While check = 0
DoEvents
Loop
Debug.Print "Timer_2: " & Now()
End Sub
Sub runFromNow(myProcedure As String, Optional myTime As Variant = "00:00:15")
If myProcedure <> "" Then
Application.OnTime Now + TimeValue(myTime), myProcedure
Debug.Print "runFromNow: Activated at " & Now + TimeValue(myTime)
End If
End Sub
Sub doSomething()
check = 1
End Sub
解决方案
您可以尝试通过声明一个公共变量来完成这一任务。
我写了这个简短的测试给你一个例子:
Public Check As Long
Sub Test()
Call Test_Dam
Debug.Print Check
End Sub
Sub Test_Dam()
Check = 1
End Sub
您的 Debug.print 将为您提供所需的 1 ;)
推荐阅读
- reactjs - “TypeError:在 API 单元测试期间无法读取 null 的属性‘createEvent’”,反应为 0.0.0-experimental-0eea57724
- angular - 等到构造函数完成初始化
- flutter - 根据 Flutter 中的测验应用程序的答案更改屏幕的背景颜色
- java - 在 JAVA 程序中使用 switch case 时不执行矩阵运算
- flutter - 如何注入一个对象以使其在颤振中从其他路由可用
- jquery - 如何在 IOS 设备中消除 Swiper js 滑块上的模糊效果
- python - Python Selenium WebDriverWait 问题
- authentication - 无需在团队应用程序中创建应用程序清单即可对用户进行身份验证
- api - Jira API 返回 Gitlab 问题链接 -> 提取有关 Gitlab 问题的更多数据
- django - 无法将 Django 迁移到 Oracle 12c(其数据类型的指定长度太长)