ส่งกลับค่าบู ลีน ที่ระบุว่าได้ส่งผ่านอาร์กิวเมนต์ Variant ที่เลือกได้ไปยังกระบวนงานหรือไม่
ไวยากรณ์
IsMissing(argname)
อาร์กิวเมนต์ argname ที่จําเป็นจะมีชื่อของอาร์กิวเมนต์กระบวนงาน ตัวแปร (ไม่บังคับ)
ข้อสังเกต
ใช้ฟังก์ชัน IsMissing เพื่อตรวจสอบว่ามีอาร์กิวเมนต์ Variant ที่ เป็นตัวเลือกในการเรียกใช้กระบวนงานหรือไม่ IsMissing จะส่งกลับ จริง ถ้าไม่มีการส่งผ่านค่าสําหรับอาร์กิวเมนต์ที่ระบุ มิฉะนั้นจะส่งกลับค่าเท็จ ถ้า IsMissing ส่งกลับ True สําหรับอาร์กิวเมนต์ การใช้อาร์กิวเมนต์ที่หายไปในโค้ดอื่นอาจทําให้เกิดข้อผิดพลาดที่ผู้ใช้กําหนด ถ้า IsMissing ถูกใช้กับอาร์กิวเมนต์ ParamArray จะส่งกลับค่าเท็จเสมอ เมื่อต้องการตรวจหา ParamArray ว่างเปล่า ให้ทดสอบเพื่อดูว่าขอบเขตบนของอาร์เรย์น้อยกว่าขอบเขตล่างหรือไม่
หมายเหตุ
IsMissing ไม่ทํางานบนชนิดข้อมูลแบบง่าย (เช่น Integer หรือ Double) เนื่องจากไม่มีการเตรียมสําหรับบิตตั้งค่าสถานะ "หายไป" ซึ่งแตกต่างจากตัวแปร ด้วยเหตุนี้ ไวยากรณ์สําหรับอาร์กิวเมนต์เพิ่มเติมแบบพิมพ์จึงอนุญาตให้คุณระบุค่าเริ่มต้นได้ ถ้าอาร์กิวเมนต์ถูกละไว้เมื่อเรียกใช้กระบวนงาน อาร์กิวเมนต์จะมีค่าเริ่มต้นนี้ ดังตัวอย่างทางด้านล่าง:
หมายเหตุ
ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงนักพัฒนาในรายการ ดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
ในหลายๆ กรณี คุณสามารถละเว้น If MyVar การทดสอบทั้งหมดได้ ด้วยการทําให้ค่าเริ่มต้นเท่ากับค่าที่คุณต้องการ MyVar ถ้าผู้ใช้ละเว้นค่าเริ่มต้นจากการเรียกใช้ฟังก์ชัน วิธีนี้จะทําให้โค้ดของคุณกระชับและมีประสิทธิภาพมากขึ้น
ตัวอย่าง
ตัวอย่างนี้ใช้ฟังก์ชัน IsMissing เพื่อตรวจสอบว่ามีการส่งผ่านอาร์กิวเมนต์เสริมไปยังกระบวนงานที่ผู้ใช้กําหนด โปรดทราบว่าอาร์กิวเมนต์ เพิ่มเติม สามารถมีค่าเริ่มต้นและชนิดอื่นที่ไม่ใช่ ตัวแปรได้แล้ว
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