gpt4 book ai didi

vba - 在多个条件下执行

转载 作者:行者123 更新时间:2023-12-04 21:54:20 25 4
gpt4 key购买 nike

简单的问题,我一定只是遗漏了一些明显的东西。

我正在尝试创建一个轮询要打开的窗口的子例程,并且我的目标是通过在满足两个条件时运行的循环来完成此操作。我不断收到错误消息:

Run time error 13: Type Mismatch



在 Do while 循环中,在搜索了 SO 上的类似问题之后,我仍然不太确定自己做错了什么。

这是不断出错的行:
Sub FindHWND()
Dim HWNDOut as string
Dim Timer as Date
Timer = Now()
'This following line is the one erroring out.
Do While ((Now() < Timer + TimeValue("00:00:10")) And (HWNDOut = 0))
HWNDOut = CStr(Hex(FindWindowEx(0&, 0, "SunAwtFrame", "Graph.graphml - yEd")))
Debug.Print HWNDOut
Sleep (100)
Loop
'Other, following sub and code that is not relevant
End Sub

在哪里 TimerNow()在循环开始之前的时刻,和 HWNDOut是我正在寻找的窗口的句柄,它将在循环中找到。

这个循环所做的只是每 100 毫秒查看一次是否打开了第三方程序的窗口,以防止在下一个子程序中丢失命令。

Post Script:如果有人对如何更好地做到这一点有任何建议,我会全力以赴。这是我第一次使用 UI 自动化,所以我还在学习。
编辑:为上下文添加了更多代码。

最佳答案

和:

And (HWNDOut = 0))

您正在比较 字符串 到一个数值........这将失败。

关于vba - 在多个条件下执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47721561/

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