訪問して頂きありがとうございます。まさふくろーです。
この記事では、省略可能な引数をもつプロシージャを作成する方法をご紹介します。
使用するキーワード
Optionalキーワード
説明 |
引数がオプションであることを示すキーワード。 |
Optionalキーワードを指定した場合、指定した引数以降のすべての引数もオプション指定する必要があります。 |
プロシージャの引数にOptionalキーワードを指定すると、その引数は省略可能な引数となります。 |
引数を省略した場合のデフォルト値を指定することもできます。 |
サンプルプログラム(使用例)
呼び出し先のプロシージャ
1 2 3 4 5 6 7 8 9 |
Private Function FncSample(Price As Double, Optional DiscountRate As Double = 0.3) As Double Dim DiscountAmount As Double DiscountAmount = Price * (1 - DiscountRate) FncSample = DiscountAmount End Function |
1 | 呼び出し先のFunctionプロシージャ「FncSample」を作成。 |
引数:Price(元の金額)、DiscountRate (割引率、Optionalキーワードを指定、引数を省略した場合のデフォルト値は「0.3」)。 | |
戻り値の型は、倍精度浮動小数点数型。 | |
3 | 割引後の金額格納用変数「DiscountAmount」(倍精度浮動小数点数型)を宣言。 |
5 | 割引後の金額を求めて、変数「DiscountAmount」に格納。 |
7 | 変数「DiscountAmount」をFunctionプロシージャ「FncSample」に設定し、割引後の金額を戻す。 |
呼び出し元のプロシージャ
1 2 3 4 5 6 |
Private Sub Sample() MsgBox "割引率指定あり = " & FncSample(1000, 0.5) & vbCrLf _ & "割引率指定なし = " & FncSample(1000) End Sub |
1 | 呼び出し元のSubプロシージャ「Sample」を作成。 |
3 | Functionプロシージャ「FncSample」を「引数指定」で呼び出し、戻り値をメッセージボックスに表示する。 |
4 | Functionプロシージャ「FncSample」を「引数省略」で呼び出し、戻り値をメッセージボックスに表示する。 |
実行結果
引数(割引率) | 説明 |
指定した場合 |
引数で指定した、割引率0.5で計算。 |
省略した場合 | Optionalキーワードのデフォルト値、割引率0.3で計算。 |
最後まで読んでいただき、ありがとうございました!
本のまとめ関連記事はこちら