我可以看到很多非常相似的线程,但似乎没有什么能给我一个应该非常基本的解决方案。
在我的 winforms 应用程序中,我需要关闭一个正在运行的 word 文档实例(从应用程序本身打开)。当我从应用程序中打开 word 文档时,我会在列表中对其进行跟踪。现在我怎样才能关闭同一个文档?
这是我尝试过的:
private bool CloseWord(string osPath) //here I pass the fully qualified path of the file
{
try
{
Word.Application app = (Word.Application)Marshal.GetActiveObject("Word.Application");
if (app == null)
return true;
foreach (Word.Document d in app.Documents)
{
if (d.FullName.ToLower() == osPath.ToLower())
{
d.What? //How to close here?
return true;
}
}
return true;
}
catch
{
return true;
}
}
我得到了很多文档对象的方法,但只有一个.Close()
to close 有这样的参数:ref object SaveChanges, ref object OriginalFormat, ref object RouteDocument
我不明白。
理想的方式是什么?谢谢..
编辑:
我无法关闭整个 Word 应用程序 (WinWord),因为用户可能打开了其他 Word 文件。
我只需要终止单词实例(类似
Process.Kill()
),而不提示用户是否保存等。