Rat*_*eek 5 .net ms-word office-interop word-2003
我正在使用 Microsoft Word 主要互操作程序集来从属 MS Word。我的应用程序打开了它自己的 Word 窗口(使用Microsoft.Office.Interop.Word.Application 的一个实例)。在应用程序完成其操作后,我想关闭我打开的 Word 窗口,但我不想影响用户可能打开的其他 Word 窗口。如果我使用 Application.Quit,那么所有 Word 窗口最终都会关闭。如果我使用 Application.ActiveWindow.Close 则 Word文档关闭,但我创建的 Word 窗口仍然保持打开状态,并显示一个不受欢迎的空白屏幕。
如何通过其 API 告诉 Word 关闭我打开的 Word 实例而不影响其他实例?这类似于单击 Word 窗口右上角的 X 时的行为。
使用Word.Application.Quit()并且Marshall.FinalReleaseComObject(Word.Application)我已经能够同时打开多个Word实例,并且仅关闭我想要关闭的特定实例。
以下是一些快速示例代码(来自 C# 控制台应用程序):
using System.Runtime.InteropServices;
using Microsoft.Office.Interop.Word;
namespace WordTest
{
internal class Program
{
private static void Main(string[] args)
{
var p = new Program();
p.Test();
}
public void Test()
{
var msWord = new Application();
CloseWord(msWord);
}
public void CloseWord(Application word)
{
if (word != null)
{
word.Quit();
Marshal.FinalReleaseComObject(word);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
另请参阅:c# MSOffice Interop Word 不会杀死 winword.exe
| 归档时间: |
|
| 查看次数: |
3128 次 |
| 最近记录: |