Sub Test() Dim s1 As String s1 = "あいうえお" Example s1 '括弧をつけずに呼び出す MsgBox s1 'New String になる Dim s2 As String s2 = "かきくけこ" Example (s2) '括弧を付けて呼び出す MsgBox s2 'かきくけこ のまま End Sub Sub Example(x As String) x = "New String" End Sub
'MsgBox (txt, vbInformation) ' これは文法エラー MsgBox txt, vbInformation ' 一般的な書き方 Call MsgBox(txt, vbInformation) ' 上記を Call 構文で書いた場合 ret = MsgBox(txt, vbInformation) ' 上記の戻り値を受け取る場合 MsgBox (txt), (vbInformation) ' 呼び出せるが、ByRef な引数の場合は意味が変わってしまう Call MsgBox((txt), (vbInformation)) ' 上記を Call 構文で書いた場合 ret = MsgBox((txt), (vbInformation)) ' 上記の戻り値を受け取る場合