【发布时间】:2016-12-19 13:31:59
【问题描述】:
在 VBA 中,您可以在调用方法/函数之前加上 Call,以明确告诉编译器您不想使用返回值(如果有的话)。
现在DoEvents function 也应该可以通过Call 调用,但我无法实现。
当我输入时:
Call DoEvents
编译时它只是说“语法错误”。
为什么我不能在DoEvents前面使用Call?
在 Excel 2016、IIRC 中使用 VBE 中的 VBA,它在 2013 年、2010 年等中也不起作用。
【问题讨论】:
-
我认为你不能调用 VBA 交互类的任何成员(Environ、MsgBox 等)
-
@JiminyCricket
Call MsgBox("Test", vbOKOnly)绝对有效。DoEvents是第一个(功能?)我偶然发现它不允许我Call它 -
啊,我尝试将其用作子 Call MsgBox "Test" 不起作用。最好不要使用 Call 而只是使用 DoEvents。我将其用作所有 Subs 和 Functions 的一般做法,因为它减少了代码/视觉混乱
-
@JiminyCricket 我公司的指导方针是尽可能使用 call,由于它与 vb.net 代码相似,它使非 vba 编码器的代码更具可读性。我只想知道为什么我不能使用它,而不是如何。过去几年只写 DoEvents 效果很好