선택적 Variant인수절차 에 전달되었는지 여부를 나타내는 부울 값을 반환합니다.
구문
IsMissing( argname )
필요한 argname 인수에는 선택적 Variant 프로시저 인수의 이름이 포함됩니다.
주의
IsMissing 함수를 사용하여 프로시저 호출 시 선택적 Variant 인수가 제공되었는지 여부를 검색합니다. IsMissing은 지정된 인수에 대해 값이 전달되지 않은 경우 True 를 반환합니다. 그렇지 않으면 False를 반환 합니다. IsMissing이 인수에 대해 True를 반환하는 경우 다른 코드에서 누락된 인수를 사용하면 사용자 정의 오류가 발생할 수 있습니다. IsMissing이 ParamArray 인수에 사용되는 경우 항상 False를 반환합니다. 빈 ParamArray를 검색하려면 테스트하여 배열의 상한이 하한보다 작은지 확인합니다.
참고: IsMissing은 Variants와 달리 "누락된" 플래그 비트에 대한 프로비전이 없기 때문에 단순 데이터 형식(예: Integer 또는 Double)에서 작동하지 않습니다. 이 때문에 형식화된 선택적 인수에 대한 구문을 사용하면 기본값을 지정할 수 있습니다. 프로시저가 호출될 때 인수를 생략하면 아래 예제와 같이 인수에 이 기본값이 있습니다.
참고: VBA(Visual Basic for Applications) 모듈에서 이 함수를 사용하는 경우를 예로 들어 보겠습니다. VBA 사용에 대해 자세히 알아보려면 검색 옆의 드롭다운 목록에서 개발자 참고를 선택하고 검색 상자에 검색어를 하나 이상 입력하세요.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then ' MyVar was omitted. Else ... End Sub
대부분의 경우 사용자가 함수 호출에서 생략하는 경우 기본값을 MyVar 포함할 값과 동일하게 설정하여 If MyVar 테스트를 완전히 생략할 수 있습니다. 이렇게 하면 코드를 보다 간결하고 효율적으로 만들 수 있습니다.
예제
이 예제에서는 IsMissing 함수를 사용하여 선택적 인수가 사용자 정의 프로시저에 전달된 경우 검사. 이제 선택적 인수에는 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