碧海湾有什么好玩的:VB6在写入Excel后,无法关闭对象

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/27 04:46:09
Dim I As Long
Dim j As Long
Dim objExl As Excel.Application
Set objExl = New Excel.Application
objExl.Workbooks.Open (App.Path & "\report\移存tmp.xls")
objExl.Sheets(1).Name = "移存清单"
objExl.Sheets("移存清单").Select
.
.
写入Excel...
.
.
objExl.Rows(I + 4 & ":" & I + 4).Select
objExl.Selection.Font.Bold = True
objExl.Range(Cells(5, 1), Cells(I + 3, j)).Borders.LineStyle = 1
objExl.Visible = True
objExl.Application.WindowState = xlMaximized
objExl.ActiveWindow.WindowState = xlMaximized
Set objExl = Nothing

当程序在第一次导出的时候,执行正常,第二次导出的时候
objExl.Range(Cells(5, 1), Cells(I + 3, j)).Borders.LineStyle = 1
报错,依错误可知道是因为第一次打开运行的对象没有关闭,我在无法之下,采用程序自动杀掉进程
即在程序加入判断是否存在Excel进程,如果存在,则自动Kill,用此方法后,依然报错,实时错误462,远程服务器不存在或不能使用
报错行仍是此行,查看进程管理器,在程序报错的时候,进程里还没有excel,给我的感觉是
Set objExl = New Excel.Application无法创建对象,Set objExl = Nothing无法清除,请问有什么方法可以解决此类问题

objExl.Range(Cells(5, 1), Cells(I + 3, j)).Borders.LineStyle = 1

改为objExl.Range(objExl.Cells(5, 1), objExl.Cells(I + 3, j)).Borders.LineStyle = 1

objExl.quit