VBA技术问题:CallByName函数无法接受Variant类型参数怎么办?
解决VBA CallByName无法接受Variant类型参数的问题
我之前在VBA里用CallByName函数的时候踩了个大坑——没法正常传递Variant类型的参数,折腾了好半天才揪出问题根源:这个函数的第四个参数Args对类型匹配的要求特别严格,只要传入参数的类型和目标不完全一致,就会直接抛出类型不匹配错误。
后来找到的解决方案很简单:在CallByName语句里给Variant类型的Value加上括号,通过括号强制求值,就能绕过这个类型校验的问题。给你看个实际示例:
CallByName MobClass, TargetData, vbLet, (Value)
这个方案是用户Rory提供的,原本相关的讨论帖子因为包含无关内容或者属于重复问题,可能已经被删除了。
内容的提问来源于stack exchange,提问作者Leo Steeves
相关产品推荐
相关产品推荐

