VB 实时错误 '424':要求对象

rangf 2011-03-21 01:47:32
Private Sub Command4_Click()
CommonDialog1.DialogTitle = "请输入数据库文件名:"
CommonDialog1.Flags = cdlOFNHideReadOnly 'Or cdlOFNOverwritePrompt
CommonDialog1.Filter = "Excel文件(*.xls)|*.xls"
CommonDialog1.FilterIndex = 1
CommonDialog1.ShowOpen

Route.Text = CommonDialog1.FileName

Dim strLin As String

If Trim(Route.Text) = "" Then
MsgBox "数据库路径不能为空!", vbCritical, "错误"
Exit Sub
End If
End Sub


我也上网查了说控件不存在,我看了控件存在的。我另外一个类似的程序也有跟这完全一样的一段代码没有报错,Why?
...全文
1079 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rangf 2011-09-04
  • 打赏
  • 举报
回复
试头像的
rangf 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 zwj1988522 的回复:]

你應該是沒有CommonDialog1控件吧,ctrl+T,然後點查找,在system32文件夾裏面,有個comdlg32。OCX這個文件,選中,然後點打開,然後確定,在左邊工具盒里有一個CommonDialog空件,双击它,就可以把CommonDialog控件加载到form里面了。然后就可以用了
[/Quote]

谢谢你,根据你的提示可以了。
也谢谢dbcontrols,他说的都是对的。
原因是我两个程序中可以用的那个程序的CommonDialog1放到了form范围外导致看不见(在form边上放CommonDialog1后缩小form)。多以我以为两个程序一样而困惑了好几天。
zwj1988522 2011-03-21
  • 打赏
  • 举报
回复
你應該是沒有CommonDialog1控件吧,ctrl+T,然後點查找,在system32文件夾裏面,有個comdlg32。OCX這個文件,選中,然後點打開,然後確定,在左邊工具盒里有一個CommonDialog空件,双击它,就可以把CommonDialog控件加载到form里面了。然后就可以用了
rangf 2011-03-21
  • 打赏
  • 举报
回复
我两个程序都用到了CommonDialog1,在两个工程—>部件下都加了Common Dialog控件,但是没有报错的那个程序删除不掉,报错的能删除掉,这是为什么?
[Quote=引用 7 楼 dbcontrols 的回复:]

Ctrl+T里面找microsoft Common Dialog Control 6.0
引用 6 楼 rangf 的回复:
引用 5 楼 dbcontrols 的回复:

确定有CommonDialog1?
把CommonDialog1删除了再拖上个

CommonDialog1怎么加?我另外一个程序里也有CommonDialog1,但是也没有啊。
[/Quote]
rangf 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 dbcontrols 的回复:]

Ctrl+T里面找microsoft Common Dialog Control 6.0
引用 6 楼 rangf 的回复:
引用 5 楼 dbcontrols 的回复:

确定有CommonDialog1?
把CommonDialog1删除了再拖上个

CommonDialog1怎么加?我另外一个程序里也有CommonDialog1,但是也没有啊。
[/Quote]

这个已经加了。要不另外一个程序也会出错的。
dbcontrols 2011-03-21
  • 打赏
  • 举报
回复
Ctrl+T里面找microsoft Common Dialog Control 6.0
[Quote=引用 6 楼 rangf 的回复:]
引用 5 楼 dbcontrols 的回复:

确定有CommonDialog1?
把CommonDialog1删除了再拖上个

CommonDialog1怎么加?我另外一个程序里也有CommonDialog1,但是也没有啊。
[/Quote]
rangf 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 dbcontrols 的回复:]

确定有CommonDialog1?
把CommonDialog1删除了再拖上个
[/Quote]
CommonDialog1怎么加?我另外一个程序里也有CommonDialog1,但是也没有啊。
dbcontrols 2011-03-21
  • 打赏
  • 举报
回复
确定有CommonDialog1?
把CommonDialog1删除了再拖上个
rangf 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dbcontrols 的回复:]

你这个窗体上确定有一个叫Route的TextBox才可以
[/Quote]
有的。
rangf 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dbcontrols 的回复:]

错误指向哪一行?
[/Quote]

我调试首先指向这行:CommonDialog1.DialogTitle = "请输入数据库文件名:"
然后一行一行下走
dbcontrols 2011-03-21
  • 打赏
  • 举报
回复
你这个窗体上确定有一个叫Route的TextBox才可以
dbcontrols 2011-03-21
  • 打赏
  • 举报
回复
错误指向哪一行?

2,503

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧