MsgBox 出现语法错误

3
这将导致语法错误:

Sub test()
    MsgBox("hello world", vbOKCancel) ' syntax error at this line
    Exit Sub
End Sub

为什么?

1
可能是在VBA中调用子程序的重复问题 - Jean-François Corbett
@Jean-FrançoisCorbett 你应该早点来。我的意思是这个问题已经被回答了,而且回答非常好。比重复问题的答案要好得多。 - Bitterblue
1个回答

10

你只是将 MsgBox 方法当作一个 Sub 来使用。在 VB6/VBA 中,Sub 的调用要么不使用括号,要么使用 Call 关键字。

MsgBox "hello world", vbOKCancel

or

Call MsgBox("hello world", vbOKCancel) 

当使用该方法作为函数(即您想要返回值)时,括号就有用了。

Dim msgResult

msgResult = MsgBox("hello world", vbOKCancel) 

我猜测,由于您使用了vbOKCancel,所以这是您将要使用的版本来找出用户点击了什么。


1
VBA的语法每次都让我感到惊讶! - Bitterblue
@mini-me:是的 - 它有很多“个性”! - Jon Egerton
括号,不是方括号。 - PBeezy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接