以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  excel进程无法关闭  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=73293)

--  作者:rjh4078
--  发布时间:2015/8/16 10:30:00
--  excel进程无法关闭
 Dim App As New MSExcel.Application
 
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(file)
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Dim Rg As MSExcel.Range   
    Rg = Ws.Range("E2")
    Return RG.VALUE
    app.quit
使用以上代码 执行完成后EXCEL进程没有被关闭


--  作者:有点蓝
--  发布时间:2015/8/16 10:33:00
--  
你用了Return 自然 app.quit 执行不了
--  作者:rjh4078
--  发布时间:2015/8/16 10:45:00
--  
 Dim App As New MSExcel.Application
 
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(file)
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Dim Rg As MSExcel.Range   
    Rg = Ws.Range("E2")
   vars("当前价")=rg.value
    app.quit
去掉了return 还是不行

--  作者:有点蓝
--  发布时间:2015/8/16 10:56:00
--  
我测试都是正常的,要稍微等一下才退出的
--  作者:rjh4078
--  发布时间:2015/8/16 11:10:00
--  
 只能使用进程强杀了 因为都是代码执行 如果等待 就会循环报错

--  作者:有点蓝
--  发布时间:2015/8/16 11:22:00
--  
这样也行
--  作者:大红袍
--  发布时间:2015/8/16 11:27:00
--  

什么意思。加上try catch

 

Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(file)
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Dim Rg As MSExcel.Range
    Rg = Ws.Range("E2")
    vars("当前价")=rg.value
catch ex As exception
   
finally
    app.quit
End try


--  作者:rjh4078
--  发布时间:2015/8/16 12:57:00
--  
 谢谢二位