メソッド、プロシージャ、関数の呼び出しと引数指定
メソッド、プロシージャ、関数を呼び出すときの引数について、
括弧が要るのか、要らないのか?
複数の引数はどのように指定するか?
名前付引数はどう使うのか?
など整理したいと思います。
以下の順にみていきます。
1.メソッドの呼び出し
2.Subプロシージャの呼び出し
2-a.Callステートメントを使用
2-b.Callステートメントを不使用
3.関数(Functionプロシージャ)の呼び出し
3-a.戻り値を使う
3-b.戻り値を使わない
1.メソッドの呼び出し
・括弧は不可
・複数の引数を持つ場合、コンマで構文順に続ける
・名前付引数を使用して呼び出す場合は、
「引数名 := 値」の形でそれぞれの引数を指定する。
引数の順序は任意
例としてOnTimeメソッドを使います。
OnTimeメソッドの構文は次の通り。
expression.OnTime(EarliestTime, Procedure, LatestTime, Schedule)
LatestTime、Scheduleは省略可能なので省略します。
例:
Application.OnTime Now() + TimeValue("00:00:10"), "マクロ名"
Application.OnTime _
EarliestTime:=Now() + TimeValue("00:00:10"), _
Procedure:="マクロ名"
2.Subプロシージャの呼び出し
2-a.Callステートメントを使用
・括弧は必要
・複数の引数を持つ場合、コンマで構文順に続ける
・名前付引数を使用して呼び出す場合は、
「引数名 := 値」の形でそれぞれの引数を指定する。
引数の順序は任意
例:
Call プロシージャ名(値)
Call プロシージャ名(値1, 値2, 値3)
Call プロシージャ名(引数名1:=値1, 引数2:=値2, 引数3:=値3)
2-b.Callステートメントを不使用
・括弧は不要
・複数の引数を持つ場合、コンマで構文順に続ける
・名前付引数を使用して呼び出す場合は、
「引数名 := 値」の形でそれぞれの各引数を指定する。
引数の順序は任意
例:
プロシージャ名 値
プロシージャ名 値1, 値2, 値3
プロシージャ名 引数名1:=値1, 引数2:=値2, 引数3:=値3
3.関数(Functionプロシージャ)の呼び出し
3-a.戻り値を使う
・括弧は必要
・複数の引数を持つ場合、コンマで構文順に続ける
・名前付引数を使用して呼び出す場合は、
「引数名 := 値」の形でそれぞれの引数を指定する。
引数の順序は任意
例としてMsgBoxを使います。
MsgBoxの構文([ ]内は省略可能)
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
例:
Dim flag As Integer
flag = MsgBox("Yes or No?", vbYesNo, "タイトル")
Dim flag As Integer
flag = MsgBox(prompt:="Yes or No?", Buttons:=vbYesNo, Title:="タイトル")
3-b.戻り値を使わない
・括弧は不要
・複数の引数を持つ場合、コンマで構文順に続ける
・名前付引数を使用して呼び出す場合は、
「引数名 := 値」の形でそれぞれの引数を指定する。
引数の順序は任意
例:
MsgBox "実行します"
MsgBox "実行します", , "タイトル"
MsgBox prompt:="実行します", Title:="タイトル"
| 固定リンク
この記事へのコメントは終了しました。

コメント