Word中VB宏运行报‘Compile error: User-defined type not defined’错误求助
解决Word VBA中DataObject编译错误的方法
出现“Compile error: User-defined type not defined”错误的原因是DataObject不属于VBA内置类型,它来自Microsoft Forms 2.0 Object Library,而Word默认未加载这个库,导致编译器无法识别该类型。以下两种方法可解决问题:
方法一:添加Forms库引用
- 打开Word的VBA编辑器(按下
Alt+F11) - 点击菜单栏「工具」→「引用」
- 在弹出的对话框中,找到并勾选「Microsoft Forms 2.0 Object Library」
- 点击「确定」后,重新运行原代码即可
- 打开Word的VBA编辑器(按下
方法二:使用晚绑定(无需手动添加引用)
修改代码为以下形式,通过动态创建对象的方式调用Forms库,兼容性更好:Sub ClipboardTest() Dim MyData As Object Dim strClip As String Set MyData = CreateObject("Forms.DataObject.1") MyData.GetFromClipboard strClip = MyData.GetText End Sub
内容的提问来源于stack exchange,提问作者Jimmy Wayne
相关产品推荐
相关产品推荐

