none
Vb 2005 關閉excel RRS feed

  • 問題

  • 我用vb 2005開啟excel

    但是執行完後發現電腦中其他的excel似乎打不開

    後來將工作管理員內處理程序的excel關掉才打得開

     

    程式如下

            Dim xlApp As Object = CreateObject("Excel.Application")
            Dim xlsheet2 As Object

            xlApp.Workbooks.Open("c:\a.xls")
            xlsheet2 = xlApp.sheets("sheet2")

            xlsheet2.Cells(2, 1) = TextBox1.Text
            xlApp.Application.Visible = True
            xlApp.Parent.Windows(1).Visible = True

            xlsheet2 = Nothing
            Application.DoEvents()
            xlApp.quit()
            xlApp = Nothing

            Application.DoEvents()

    請問應該修改什麼來使得excel能..."完全關閉"...

    謝謝

     

     

    2006年9月27日 上午 04:41

解答

  • 當你程式結束時,Excel.exe 就會消失,但你你程式還沒結束時,由於 .Net 記憶體是自己控管,所以只要任意變數沒乾淨釋放,Excel.exe 就不會消失。

    你可以在 xlApp = Nothing 後面加這句:

    GC.Collect()

    簡單的應用可以放掉,你若是放到共用記憶體傳來傳去,可能就放不掉了,在 ASP.NET 也常常發生放不掉的問題。

    我自己大部分情況是這樣做:

    http://tlcheng.twbbs.org/Paper/RunPC/132/Office.htm

    而 Office 2007 已經公告預設檔案類型為 xml 格式,所以以後可以直接當成純文字檔輸出 xml 格式檔案。

    2006年9月27日 上午 05:37
    版主

所有回覆

  • 當你程式結束時,Excel.exe 就會消失,但你你程式還沒結束時,由於 .Net 記憶體是自己控管,所以只要任意變數沒乾淨釋放,Excel.exe 就不會消失。

    你可以在 xlApp = Nothing 後面加這句:

    GC.Collect()

    簡單的應用可以放掉,你若是放到共用記憶體傳來傳去,可能就放不掉了,在 ASP.NET 也常常發生放不掉的問題。

    我自己大部分情況是這樣做:

    http://tlcheng.twbbs.org/Paper/RunPC/132/Office.htm

    而 Office 2007 已經公告預設檔案類型為 xml 格式,所以以後可以直接當成純文字檔輸出 xml 格式檔案。

    2006年9月27日 上午 05:37
    版主
  • 我用vb 2005開啟excel

    但是執行完後發現電腦中其他的excel似乎打不開

    後來將工作管理員內處理程序的excel關掉才打得開

     

    程式如下

            Dim xlApp As Object = CreateObject("Excel.Application")
            Dim xlsheet2 As Object

            xlApp.Workbooks.Open("c:\a.xls")
            xlsheet2 = xlApp.sheets("sheet2")

            xlsheet2.Cells(2, 1) = TextBox1.Text
            xlApp.Application.Visible = True
            xlApp.Parent.Windows(1).Visible = True

            xlsheet2 = Nothing
            Application.DoEvents()
            xlApp.quit()
            xlApp = Nothing

            Application.DoEvents()

    請問應該修改什麼來使得excel能..."完全關閉"...

    謝謝

     

     


    dear sir:
    可參考以下
    http://www.dotblogs.com.tw/yc421206/archive/2009/01/11/6741.aspx

    祝順心~
    2009年6月30日 下午 06:10