VB程序运行时出现实时错误‘424’要求对象

2024-11-21 08:21:38
推荐回答(3个)
回答1:

引用属性和方法经常需要一个明确的对象限定符。此错误有以下的原因和解决方法:

当引用对象属性或方法时,没有提供正确的对象限定符。
如果没有提供的话,指定一个对象限定符。例如,从窗体的模块中引用窗体属性时,虽然可以省略对象的限定符,但是当从标准模块中引用一个属性时,则必须指定限定符。

提供一个对象限定符,但不能识别出对象。
检查对象限定符的拼写,并确保在所引用的程序中此对象是可见的。在 Collection 对象中,请检查每个 Add 方法的使用,以确保语法应正确,以及所有部件的拼写应正确。

提供了正确的对象限定符,但调用的其他部分有错误。
将非法路径当作主机应用程序中“文件打开”命令的参数会引起错误。请检查参数。

在指定对象的引用时,没有使用 Set 语句。
如果指定 CreateObject 调用的返回值为 Variant 变量,那么如果省略 Set 语句的话,此错误就可能会发生。在以下的代码示例中,创建一 个 Microsoft Excel 隐含实例,且返回 Variant RetVal 的缺省属性 ("Microsoft Excel" 字符串)并赋给 Variant RetVal,然后将 RetVal 当作对象引用时,发生了此错误:

当给引用的对象赋值时,请使用 Set 语句。

试图对正常对象执行无效动作时,就会发生此错误。例如,如对只读属性赋值时,就有可能接收到此错误。
请检查对象的文档以确保执行的动作都正确。
Layer.LayerIndex或
Layer.LoadProp 或
Layer.Show vbModal
中的对象不存在。看看是不是拼写错误,还是根本没有定义对象。

回答2:

CommonDialog.Action = 4 (此处显示错误)改为
CommonDialog1.Action = 4 (如果还是此处显示错误的话,就是你没在窗体上添加CommonDialog控件),这个控件在工具箱里没有,需要先添加部件-microsoft common dialog control 6.0

回答3:

把所有CommonDialog改为CommonDialog1
也就是在所有CommonDialog后面加个1(有1的就不用再加了)