VBA IsMissing 函数如何在幕后工作?
Posted
技术标签:
【中文标题】VBA IsMissing 函数如何在幕后工作?【英文标题】:How does the VBA IsMissing function work under the hood? 【发布时间】:2021-11-29 12:13:11 【问题描述】:根据文档:
IsMissing 不适用于简单数据类型(例如 Integer 或 双倍)因为,与变体不同,它们没有规定 “缺失”标志位
但是在tagVARIANT
结构中,我看不到任何关于可以设置的标志的信息,我想知道 vartype 是否像嵌入 ByRef 和 VT_BYREF 一样嵌入此信息(VT_RESERVED
是什么意思?)但是我不确定。
【问题讨论】:
【参考方案1】:“missing”变体是一个 VARIANT,其中 vt
成员 (VARTYPE) 设置为 VT_ERROR
,scode
成员设置为 DISP_E_PARAMNOTFOUND
(0x80020004)。
【讨论】:
链接,DISPARAMS 结构不是仅适用于所有 args 都是变体的 callbyname 等后期绑定代码吗? @Greedo - IsMissing 函数定义:“返回一个布尔值,指示是否已将可选 Variant 参数传递给过程。”。 VT_ERROR + DISP_E_PARAMNOTFOUND 是特殊的“缺失”变量值。 (BTW .NET 当然和这个docs.microsoft.com/en-us/dotnet/framework/interop/…一致)以上是关于VBA IsMissing 函数如何在幕后工作?的主要内容,如果未能解决你的问题,请参考以下文章
React 钩子 useRef() 如何在幕后工作?那个参考到底是啥?