2014-01-06 56 views
2

這將導致一個語法錯誤:語法錯誤與MSGBOX

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

爲什麼?

+1

可能重複[在VBA中調用Sub](http://stackoverflow.com/questions/7715044/calling-a-sub-in-vba) –

+0

@ Jean-FrançoisCorbett你應該早點來。我的意思是這個問題得到解答,答案非常好。比重複問題更好。 – Bitterblue

回答

8

您只是使用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

+0

@迷你我:是的 - 它有很多「字符」! –

+0

直接和清晰,再加上一個:) – L42