在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 保存文档初始视图信息2boolSRACtag =_doc.application.ActiveDocument.ActiveWindow.View.ShowRevisionsAndComments;3MSWord.WdRevisionsView ViewTag =_doc.Application.ActiveDocument.ActiveWindow.View.RevisionsView;45//Step 2 判断是否处于 修订模式? 若是,则显示最终状态6if(_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}1213/*14*文档处理代码15*/1617//Step 3 判断是否处于 修订模式? 若是,则恢复文档初始设置18if(_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枚举类型 说明
1usingSystem;23namespaceMicrosoft.Office.Interop.Word4{5publicenumWdRevisionsView6{7wdRevisionsViewFinal =0,8wdRevisionsViewOriginal =1,9}10}