我的VB程序,使用了Excel.Application来操作Excel表发现我在程序运行过程中,如果使用界面右上的X来关闭程序,那么界面虽然被关闭了,但是程序进程仍然存在于系统中。如果我在界面上边加一个按钮什么的,放一个end在里边,通过按下这个按钮关闭程序就没问题。请问这种情况怎么解决?

解决方案 »

  1.   

    你没有正常的释放对象Dim exl As New Excel.Application
    Dim book As Excel.Workbook
    Dim sheet As Excel.Worksheet
    '先使用excel制作一个模板
    Set book = exl.Workbooks.Open("c:\temp1.xls")
    Set sheet = book.Worksheets(1)
    book.Application.DisplayAlerts = False
    '在excel的格子中写入你想打印的内容
    With sheet
        
        '.Cells(Row, col) = ""
        
        
        '这里使用
        Range("C4").Select
        ActiveSheet.Pictures.Insert( _
            "C:\Documents and Settings\Administrator\My Documents\My Pictures\样品.jpg"). _
            Select
        'Selection.AutoFill Destination:=Range("A18:J18"), Type:=xlFillDefault
        .Columns("A:A").ColumnWidth = 30
    '    Range("A17").Select
    '    ActiveCell.FormulaR1C1 = "=SUM(R[-16]C:R[-1]C)"
    '    Range("A18").Select
    '    Selection.AutoFill Destination:=Range("A18:J18"), Type:=xlFillDefault
    '    Range("A18:J18").Select
    '    Range("A17").Select
    '    Selection.AutoFill Destination:=Range("A17:J17"), Type:=xlFillDefault
    '    Range("A17:J17").Select
    '    Range("E16").Select
        '这里使用
        
    End With
    'sheet.PrintOut'从这里开始保存并且释放对象'你应该就是缺少这个东西book.Save
    book.Close
    Set book = Nothing
    exl.Quit
    Set exl = Nothing
      

  2.   

    在form_unload中
    加入
    exl.close
    set exl=nothing
    就可以了
      

  3.   

    是不是说按下界面右上的那个关闭按钮,触发的是Form_Unload事件?如果是的话,是不是说在同一个界面上不能有Unload me?
      

  4.   

    当窗体关闭的时候就会触发Form_Unload,不论你怎么弄
    按下界面右上的那个关闭按钮,或者Unload me都会触发Form_Unload
    所以只要把结束exl的代码写到Form_Unload中就可以了