excel进程未正确终止[英] excel process not terminating properly

问题描述

大家好,各位大师.我正在努力释放 com 对象.我
已将问题隔离到下面的代码中.对象被释放和
该过程结束,直到我
使用"int k = sheet.Count;"然后该过程不会结束.所以我觉得
确信问题在这里发生.看来另一个参考是
创建的需要关闭.谁能告诉我怎么做
这?:)
谢谢

Excel.Workbook 工作簿 =
(Excel.Workbook)excelapplication.ActiveWorkbook;
Excel.Sheets 工作表 = 工作簿.工作表;

//这里有问题
int k = sheet.Count;

System.Runtime.InteropServices.Marshal.ReleaseComO bject(sheet);
表=空;
System.Runtime.InteropServices.Marshal.ReleaseComO bject(workbook);
workbook = null;

推荐答案

尝试在调用 ReleaseCOMObject 之前添加以下内容:

表=空;
工作簿 = null;

<ch**********@hotmail.com 在留言中写道
新闻:11**********************@y80g2000hsf.googlegr oups.com...
大家好,各位大师.我正在努力释放 com 对象.我
已将问题隔离到下面的代码中.对象被释放和
该过程结束,直到我
使用"int k = sheet.Count;"然后该过程不会结束.所以我觉得
确信问题在这里发生.看来另一个参考是
创建的需要关闭.谁能告诉我怎么做
这?:)
谢谢

Excel.Workbook 工作簿 =
(Excel.Workbook)excelapplication.ActiveWorkbook;
Excel.Sheets 工作表 = 工作簿.工作表;

//这里有问题
int k = sheet.Count;

System.Runtime.InteropServices.Marshal.ReleaseComO bject(sheet);
表=空;
System.Runtime.InteropServices.Marshal.ReleaseComO bject(workbook);
workbook = null;


"Scott M."<s-***@nospam.nospamschrieb:
尝试在您调用 ReleaseCOMObject 之前添加以下内容:

表=空;
工作簿=空;
坏主意,因为如果为 null
,''ReleaseComObject'' 将不会释放对象引用被传递给它.

--
MS Herfried K. Wagner
MV<网址:http://dotnet.mvps.org/>
VB <网址:http://dotnet.mvps.org/dotnet/faqs/>


<ch**********@hotmail.comschrieb:
我正在努力释放 com 对象.我
已将问题隔离到下面的代码中.对象被释放和
该过程结束,直到我
使用"int k = sheet.Count;"然后该过程不会结束.
PRB:从 Visual Studio 自动化后,Office 应用程序不会退出
..NET 客户端
<网址:http://support.microsoft.com/?scid=kb;EN-US;317109>
-"疑难解答"

--
MS Herfried K. Wagner
MV<网址:http://dotnet.mvps.org/>
VB <网址:http://dotnet.mvps.org/dotnet/faqs/>

本文地址:https://www.itbaoku.cn/post/1050579.html