Excel调用的棘手问题,急求解!

Hermit007 2003-11-09 02:51:56
我在VB中做了一个EXCEL的调用,用完后关闭Excel,也删除了我创建的临时文件"c:\temp3.xls",但在进程中还有一个Excel,如果此进程不关闭,在下次调用中就会出错,能告诉我如何安全正常的关闭它吗?谢谢!
急!


'===========================================================
Option Explicit
Private Sub Command1_Click()

Dim xlApp As New Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlBook = xlApp.Workbooks.Add '创建一个新表
Set xlSheet = xlApp.Workbooks(1).Worksheets(1)

'在新建的EXCEL中(如果只写了一些临时数据它可正常关闭)
With xlApp.ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.google.com", Destination _
:=Range("A1"))
.Name = "www.google.com"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
' .WebSelectionType = xlAllTables '选择目标所在WEB网页的具体位置:表格
.WebFormatting = xlWebFormattingNone
.WebPreFormattedTextToColumns = False
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = True
.Refresh BackgroundQuery:=False
End With


'使用完毕
xlBook.SaveAs FileName:="C:\temp3.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

Set xlSheet = Nothing
xlBook.RunAutoMacros (xlAutoClose)
xlBook.Close (True) '关闭工作簿
Set xlBook = Nothing
xlApp.Quit '结束EXCEL对象
Set xlApp = Nothing '释放xlApp对象

Kill "c:\temp3.xls"
End Sub
...全文
63 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
paulone 2003-11-27
  • 打赏
  • 举报
回复
!!
Hermit007 2003-11-09
  • 打赏
  • 举报
回复
问题解决了,非常感谢!
还能告诉我,这个range("A1")是指的什么属性
谢谢
hhjjhjhj 2003-11-09
  • 打赏
  • 举报
回复
你已经设了SHEET变量,这样更合理
With xlSheet.QueryTables.Add(Connection:= _
"URL;http://www.google.com", Destination _
:=xlSheet.Range("A1"))
hhjjhjhj 2003-11-09
  • 打赏
  • 举报
回复
With xlApp.ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.google.com", Destination _
:=Range("A1"))
中的Range("A1")改成xlApp.ActiveSheet.Range("A1")
taosihai1only 2003-11-09
  • 打赏
  • 举报
回复
vbBook.close
Hermit007 2003-11-09
  • 打赏
  • 举报
回复
:=xlApp.ActiveSheet.Range("A1"))
什么意思?这句加到哪儿呀?
hhjjhjhj 2003-11-09
  • 打赏
  • 举报
回复
:=xlApp.ActiveSheet.Range("A1"))
Hermit007 2003-11-09
  • 打赏
  • 举报
回复
up
Hermit007 2003-11-09
  • 打赏
  • 举报
回复
能用其它办法关闭EXCEL吗?
有谁能告诉我,这个EXCEL的进程为什么没有正常关闭?
我怀疑是不是我用了EXCEL的VBA后,EXCEL关闭了,但它的VBA项目模块没有关闭?
天啦,帮助我吧
rainstormmaster 2003-11-09
  • 打赏
  • 举报
回复
实在不行,就枚举所有的进程,找到excel后,关闭它

With xlApp.ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://www.google.com/search?q=sheet&ie=GB2312&hl=zh-CN&btnG=Google%CB%D1%CB%F7&lr=" _
, Destination:=Rows("1:36"))
.Name = "search?q=sheet&ie=GB2312&hl=zh-CN&btnG=Google%CB%D1%CB%F7&lr="
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingAll
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.Refresh BackgroundQuery:=False
End With
Hermit007 2003-11-09
  • 打赏
  • 举报
回复
今天周日,高手都放假了吗?
快点帮帮我吧
Hermit007 2003-11-09
  • 打赏
  • 举报
回复
你运行一下,然后瞧瞧进程中还有一个EXCEL的没有关闭,退出程序后它才能关闭:(
astroboy 2003-11-09
  • 打赏
  • 举报
回复
没看出哪里有问题,帮你up
Hermit007 2003-11-09
  • 打赏
  • 举报
回复
高手快来救我呀

7,778

社区成员

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

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