宣言 引数が省略可能な関数を作る
※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。
※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。
'====================================================================== '【通常】 Function OptionalTest1(A As Byte, B As Byte, C As Byte) As Byte '********************************** '引数が省略可能な関数を作る '********************************** 'ユーザー定義関数 OptionalTest1 = A + B + C End Function Private Sub Test1() MsgBox OptionalTest1(1, 2, 3) End Sub '====================================================================== '【省略可能型1】 Function OptionalTest2(A As Byte, B As Byte, Optional C As Byte = 0) As Byte ' ~~~~~~~~ ~~~ '********************************** '引数が省略可能な関数を作る '********************************** 'ユーザー定義関数 '[= 0]の数値は任意(省略された場合の数値)で設定可能です。 OptionalTest2 = A + B + C End Function Private Sub Test2_1() MsgBox OptionalTest1(1, 2) '【通常】 '↑コンパイルエラー!引数は省略できません! End Sub Private Sub Test2_2() MsgBox OptionalTest2(1, 2) '【省略可能型1】 '↑エラーは無く答えが表示されます。 End Sub '====================================================================== '【省略可能型2】 Function OptionalTest3(A As Byte, Optional B As Byte = 0, Optional C As Byte = 0) As Byte ' ~~~~~~~~ ~~~ ~~~~~~~~ ~~~ '********************************** '引数が省略可能な関数を作る '********************************** 'ユーザー定義関数 '[= 0]の数値は任意(省略された場合の数値)で設定可能です。 OptionalTest3 = A + B + C End Function Private Sub Test3() MsgBox OptionalTest3(1) '【省略可能型2】 '↑エラーは無く答えが表示されます。 MsgBox OptionalTest3(1, 2) '【省略可能型2】 '↑エラーは無く答えが表示されます。 MsgBox OptionalTest3(1, , 3) '【省略可能型2】 '↑エラーは無く答えが表示されます。 End Sub '====================================================================== '【注意】 'Function OptionalTest3(Optional A As Byte = 0, B As Byte , Optional C As Byte = 0) As Byte ' ~~~~~~~~ ~~~ ~~~~~~~~ ~~~ '********************************************************************** '[Optional]を指定した場合、それ以降の引数も省略可能でなければならない。 '********************************************************************** 'その場合すべて引数に[Optional]を付けて宣言する必要があります。 '********************************************************************** '[Optional] キーワード '[Optional] は、次の構文で使用します。 ' 'Declare ステートメント ' 'Function ステートメント ' 'Property Get ステートメント ' 'Property Let ステートメント ' 'Property Set ステートメント ' 'Sub ステートメント |