在Word中执行与Find、Range等相关的操作时,需对修订模式下的文档进行特殊处理。
核心知识点
Word中的 RevisionsView 属性只有两种设置:显示标记的最终状态(Final Showing Markup) 和 显示标记的原始状态(Original Showing Markup)。
Word本身却支持四种视图,具体包括:最终状态(Final)、显示标记的最终状态(Final Showing Markup)、原始状态(Original)、显示标记的原始状态(Original Showing Markup)。
如何实现4种视图的切换?
视图模式 | RevisionsView | ShowRevisionsAndComments |
Final | 0 | FALSE |
FinalShowingMarkup | 0 | TRUE |
Original | 1 | FALSE |
OriginalShowingMarkup | 1 | TRUE |
实例
1 // Step 1 保存文档初始视图信息 2 bool SRACtag = _doc.application.ActiveDocument.ActiveWindow.View.ShowRevisionsAndComments; 3 MSWord.WdRevisionsView ViewTag = _doc.Application.ActiveDocument.ActiveWindow.View.RevisionsView; 4 5 // Step 2 判断是否处于 修订模式? 若是,则显示最终状态 6 if (_doc.Application.ActiveDocument.TrackRevisions == true) 7 { 8 _doc.Application.ActiveDocument.ActiveWindow.View.RevisionsView = Microsoft.Office.Interop.Word.WdRevisionsView.wdRevisionsViewFinal; 9 _doc.Application.ActiveDocument.ActiveWindow.View.ShowRevisionsAndComments = false;10 _doc.Application.Visible = true;11 }12 13 /*14 *文档处理代码15 */16 17 // Step 3 判断是否处于 修订模式? 若是,则恢复文档初始设置18 if (_doc.Application.ActiveDocument.TrackRevisions == true)19 {20 _doc.Application.ActiveDocument.ActiveWindow.View.RevisionsView = ViewTag;21 _doc.Application.ActiveDocument.ActiveWindow.View.ShowRevisionsAndComments = SRACtag;22 _doc.Application.Visible = true;23 }
WdRevisionsView枚举类型 说明
1 using System; 2 3 namespace Microsoft.Office.Interop.Word 4 { 5 public enum WdRevisionsView 6 { 7 wdRevisionsViewFinal = 0, 8 wdRevisionsViewOriginal = 1, 9 }10 }
新闻热点
疑难解答