怎样避免运行时错误“429” ?

vcexplorer 2003-11-26 08:49:46
在程序中循环调用EXCEL,每一个循环建立对象并销毁对象,不定期的出现运行时错误或无法创建ACTIVEX对象,怎样解决?望高人指点 VB+SP4(EN)+runtime sp5
...全文
140 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wolfhero 2003-11-27
  • 打赏
  • 举报
回复
On Error GoTo Deal_err

Dim xlApp As New Excel.Application '定义数据库记录集及excel对象变量
Dim xlBook As New Excel.Workbook
Dim xlSheet As New Excel.Worksheet

Pname = App.Path & "\report\temp.xls" '定义临时打印工作表
reStr = Dir(Pname)
If reStr <> "" Then
Kill Pname
End If
FileCopy App.Path & "\report\局报一.xls", Pname
If Not (xlApp Is Nothing) Then
xlApp.Quit
End If
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = True
Set xlBook = xlApp.Workbooks.Open(App.Path & "\report\temp.xls")
Set xlSheet = xlBook.Worksheets("报表一")

for i=0 to 22


next i

xlBook.Save
xlApp.Quit
Deal_err:
If Err.Number <> 0 And Err.Number <> 429 Then
MsgBox "信息号" & Err.Number & ":" & Err.Description, 64, "详细信息"
Err.Number = 0
ElseIf Err.Number = 429 Then
MsgBox "请先安装Office2000,在运行此程序!", 64
Err.Number = 0
End If

lizfhn 2003-11-26
  • 打赏
  • 举报
回复
调用后关闭了对象吧!系统是什么!
rainstormmaster 2003-11-26
  • 打赏
  • 举报
回复
//在程序中循环调用EXCEL,每一个循环建立对象并销毁对象,不定期的出现运行时错误或无法创建ACTIVEX对象


1 不要使用createobject绑定对象,建议先引用后调用

2 及时用set obj=nothing 释放对象所占资源

3 使用错误陷阱捕捉可预期的错误,并加以处理

4 看看是否是防火墙设置的问题
loveerror 2003-11-26
  • 打赏
  • 举报
回复
有显式将EXCEL对象取消吗?

set Xlexcel=nothing;

还可以把执行写在:
on error resume next
下面.
但是当出错时,就不太好处理了. 可以判断当出现这种错误就跳过.

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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