VB中调Excel时的错误

agan 2000-05-23 05:38:00
VB6.0中的一段程序,第一遍运行正确,再次运行时在第四行报错:
运行时错误"1004":定义的应用程序或对象错误

1: Set xlApp = CreateObject("excel.application")
2: Set xlBook = xlApp.Workbooks.Add
3: Set xlSheet = xlBook.Worksheets(1)

4: Set xlRange = xlSheet.Range(Cells(1, 1), Cells(10, 5))

请问什么原因,如何解决?
...全文
111 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
agan 2000-05-29
  • 打赏
  • 举报
回复
很抱歉,回答不正确,我已查到原因,如下:

第四行应为 set xlRange=xlSheet.Range(xlSheet.Cells(1,1),xlSheet.Cells(10,5))
谢谢您的回答,给您打10分吧!
tanhl 2000-05-28
  • 打赏
  • 举报
回复
此错误的出现主要是由于OLE对象没有置空的缘故,当在第一次运行时,利用CreateObject产生了对象,此时xlApp为Excel对象,故在第4行时不会出现错误,当第二次运行时,出于上次产生的对象没有置空,OLE进行产生对象时出于通讯时限的关系不能正确创建,故出错,正确程序应为:

On local error resume next

1: Set xlApp = GetObject("excel.application")

2: if xlApp is Nothing Then

3: Set xlApp = CreateObject("excel.application")

4: end if

5: on local error goto 0

6: Set xlBook = xlApp.Workbooks.Add
7: Set xlSheet = xlBook.Worksheets(1)

8: Set xlRange = xlSheet.Range(Cells(1, 1), Cells(10, 5))



7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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