Zwraca wartość logiczną wskazującą, czy opcjonalna wartość typuargument została przekazana do procedura.

Składnia

IsMissing(nazwa arg)

Wymagany argument argname zawiera nazwę opcjonalnego argumentu procedury wariantowej.

Spostrzeżenia

Użyj funkcji IsMissing, aby sprawdzić, czy w wywoływaniu procedury podano argumenty wariantu. Funkcja IsMissing zwraca wartość Prawda, jeśli dla określonego argumentu nie została przekazana żadna wartość; w przeciwnym razie zwraca wartość Fałsz. Jeśli funkcja IsMissing zwraca wartość Prawda dla argumentu, użycie brakującego argumentu w innym kodzie może spowodować błąd zdefiniowany przez użytkownika. Jeśli funkcja IsMissing jest używana dla argumentu ParamArray, zawsze zwraca wartość Fałsz. Aby wykryć puste urządzenie ParamArray,sprawdź, czy górna granica tablicy jest mniejsza niż jej dolna granica.

Uwaga:  IsMissing nie działa w przypadku prostych typów danych (takich jak liczba całkowita lub podwójna), ponieważ w przeciwieństwie do wariantów nie mają one rezerwy dla bitu flagi "brakujące". Z tego powodu składnia wpisanych argumentów opcjonalnych umożliwia określenie wartości domyślnej. Jeśli argument zostanie pominięty podczas wywoływania procedury, to ten argument będzie miał tę wartość domyślną, jak w poniższym przykładzie:

Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

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

W wielu przypadkach test funkcji można całkowicie pominąć If MyVar przez ustawienie wartości domyślnej równej wartości, którą ma zawierać program MyVar , jeśli użytkownik pominie ją w wywołaniu funkcji. Dzięki temu kod jest bardziej zwięzły i wydajny.

Przykład

W tym przykładzie użyto funkcji IsMissing w celu sprawdzenia, czy do procedury zdefiniowanej przez użytkownika został przekazany opcjonalny argument. Pamiętaj, że argumenty opcjonalne mogą mieć teraz wartości domyślne i typy inne niż wariant.

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

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów Microsoft Office

Czy te informacje były pomocne?

Jaka jest jakość tłumaczenia?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×