类型不匹配(错误 13)
Visual Basic 能够转换和强制许多值,以完成早期版本中不可完成的数据类型分配。
但是,此错误仍可能发生并具有以下原因和解决方案:
- 原因:变量 或 属性 不是正确类型。 For example, a variable that requires an integer value can't accept a string value unless the whole string can be recognized as an integer.
解决方案: 尝试仅在兼容的 数据类型 之间进行分配。 例如,“整数”始终只可分配给“Long”,“Single”始终可分配给“Double”,而任何类型(用户定义类型除外)都可分配给“变量”。
- 原因: 一个对象传递给预期单个属性或值的过程。
解决方案: 传递合适的单个属性或调用适合该对象的方法。
解决方案: 指定可显示的表达式。
原因: 您尝试通过具有 错误 子类型(10,vbError)的 变量 值混合传统的基本错误处理,例如:
Error CVErr(n)
Solution: To regenerate an error, you must map it to an intrinsic Visual Basic or a user-defined error, and then generate that error.
Cause: A CVErr value can't be converted to Date. For example:
MyVar = CDate(CVErr(9))
Solution: Use a Select Case statement or some similar construct to map the return of CVErr to such a value.
Solution: To print arrays, create a loop that displays each element individually.
有关其他信息,选择有问题的项并按 F1(在 Windows 中)或 HELP(在 Macintosh 上)。
注意
有兴趣开发跨多个平台扩展 Office 体验的解决方案吗? 查看新的 Office 外接程序模型。 与VSTO外接程序和解决方案相比,Office外接程序占用的空间较小,您可以使用几乎任何Web编程技术(例如HTML5,JavaScript,CSS3和XML)来构建它们。
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。