:类型不匹配(错误 13)
当前 Visual Basic为了完成数据类型的赋值,能够对许多数值进行转换,而较早的版本则做不到。然而,此错误仍可能发生并且有 下列几种原因和解决方法:
- 变量或属性类型错误。例如,一个整型值的变量不能赋给字符串值,除非整个字符串可识别成为整型。
尽量在兼容的数据类型间赋值。例如,Integer可以被赋给Long,Single可以被赋给Double,而任何类型(除了用户类型)可以赋给Variant。
- 将对象传给了需要单一属性或值的过程。
传递正确的单一属性或调用给工程的方法。
- 使用了表达式所要的模块或工程名称,例如:
Debug.Print MyModule
指定可以显示的表达式。
- 将传统 Basic 错误处理例程与拥有Error子类型 (10,vbError) 的Variant值混合,例如:
Error CVErr(n)
识别一个错误,要将其映射到 Visual Basic 或用户错误,然后产生错误。
- CVErr值不能转换成Date。例如:
MyVar = CDate(CVErr(9))
使用Select Case语句或一些类似的结构映射返回的CVErr。
- 在运行时,此错误通常说明在无效子类型的表达式中使用了Variant,或包含数组的Variant中出现了Print #语句。
可用循环显示每个元素以打印数组,。
详细信息,可选取有问题的项目,并按下 F1 (在Windows中)或HELP(在Macintosh中)键。