メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

手続きに省略可能なバリアント型 (Variant)引数 の引数が渡されたかどうかを、ブール型 (Boolean) の値で返します。

構文

IsMissing( argname )

argname は必須の引数です。プロシージャの省略可能なバリアント型 (Variant) の引数の名前を指定します。

解説

IsMissing 関数を使用して、プロシージャの呼び出しでオプションの Variant 引数が指定されているかどうかを検出します。 指定した引数に値が渡されていない場合、IsMissingTrue を返します。それ以外の場合は False を返します引数に対して IsMissingTrue を返した場合、他のコードで不足している引数を使用すると、ユーザー定義エラーが発生する可能性があります。 引数 ParamArrayIsMissing を使用すると、常に False が返されます。 空の ParamArray を検出するには、配列の上限が下限より小さいかどうかをテストします。

注:  IsMissing は単純なデータ型 ( IntegerDouble など) では機能しません。 バリアント型とは異なり、"欠落" フラグ ビットのプロビジョニングがないためです。 このため、型指定された省略可能な引数の構文では、既定値を指定できます。 プロシージャの呼び出し時に引数を省略すると、次の例のように、引数にこの既定値が設定されます。

注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub

多くの場合は、関数呼び出しでユーザーが指定を省略した場合に MyVar に使用する値と既定値を同じにすることにより、If MyVar テスト全体を省略することができます。 そうすることで、コードがより簡潔に、より効率的になります。

この例では、IsMissing 関数を使用して、オプションの引数がユーザー定義プロシージャに渡されたかどうかを確認します。 引数 Optional には、既定値と、バリアント型 (Variant) 以外の型を指定できるようになった点にご注意ください。

Dim ReturnValue
' The following statements call the user-defined
' function procedure.
ReturnValue = ReturnTwice() ' Returns Null.
ReturnValue = ReturnTwice(2) ' Returns 4.
' Function procedure definition.
Function ReturnTwice(Optional A)
If IsMissing(A) Then
' If argument is missing, return a Null.
ReturnTwice = Null
Else
' If argument is present, return twice the value.
ReturnTwice = A * 2
End If
End Function

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×