Table of Contents

Class VBMissingValue

Namespace
RDCore.SDK.Model.Values.Intrinsic
Assembly
RDCore.SDK.dll

Represents a Variant/Missing value: what an optional Variant parameter holds when no argument was supplied for it.

public sealed record VBMissingValue : VBErrorValue, IEquatable<VBTypedValue>, IVBTypedValue<VBErrorValue, int>, IEquatable<IVBTypedValue<VBErrorValue, int>>, IEquatable<VBErrorValue>, IEquatable<VBMissingValue>
Inheritance
VBMissingValue
Implements
Inherited Members

Remarks

MS-VBAL §6.1.2.7.1.6 calls it "the Missing data value", and §6.1.2.7.1.12 and §6.1.2.7.1.13 report it the same as an Error. It is one: the Variant COM passes for an omitted argument is a VT_ERROR carrying DISP_E_PARAMNOTFOUND, which VBA reads as error NamedArgumentNotFound (448) everywhere but in IsMissing: CStr of it is "Error 448", CLng of it is 448, and an operator given it raises Type mismatch. So it is an VBErrorValue with that code, and every operation that handles an error value handles it unchanged.

👉 Copying it keeps it Missing: a Variant assigned from an omitted parameter, or an optional parameter it is passed on to, is Missing too.

Constructors

VBMissingValue()

public VBMissingValue()

VBMissingValue(IBindingHandle)

public VBMissingValue(IBindingHandle handle)

Parameters

handle IBindingHandle

Properties

Missing

public static VBMissingValue Missing { get; }

Property Value

VBMissingValue