我目前需要将两个 Microsoft Word 文档与Microsoft.Office.Interop.Word
. 我找到了这个Application.CompareDocument
方法,它完全符合我的要求。以下 C# 源代码(片段)将保存在文件系统中的文档与当前活动文档进行比较,并在新文档中打开结果:
using Word = Microsoft.Office.Interop.Word;
// [...]
Word.Document originalDocument = this.application.Documents.Open(filePath, ReadOnly: true, Visible: false);
Word.Document diffDocument = this.application.CompareDocuments(
originalDocument,
this.application.ActiveDocument);
((Word._Document)originalDocument).Close(SaveChanges: false);
// TODO Activate two built-in Microsoft Word buttons.
// [...]
但我还需要在新创建的 Word 文档视图中激活两个内置按钮。在 MSDN 上搜索了一段时间后,我无法找到实现我想要的方法。我为这个问题添加了两个屏幕截图,显示了我想要激活的内置按钮(遗憾的是,我使用的是 Microsoft Word 2010 的德语版本,所以我不知道确切的翻译是什么)。
“Quelldokumente anzeigen”(可翻译为“显示源文件”)。我需要激活“Beide anzeigen”按钮(可以翻译为“同时显示”)。
“Überarbeitungsbereich”(可翻译为“修订窗格”)。我需要激活按钮“Überarbeitungsbereich vertikal...”(可以翻译为“垂直修订窗格...”)。
最后,我想知道如何修改这两个按钮的状态(直接或间接通过方法调用)。
编辑 (2013-08-03)
可以通过以下方法设置修订窗格:
diffDocument.ActiveWindow.View.SplitSpecial = Word.WdSpecialPane.wdPaneRevisionsVert;
我仍在寻找一种解决方案来显示源文档和修改后的文档窗格。
编辑 (2013-08-05)
可以通过以下方法修改显示源文档按钮以显示两个源文档:
diffDocument.ActiveWindow.ShowSourceDocuments = Word.WdShowSourceDocuments.wdShowSourceDocumentsBoth;