【发布时间】:2017-04-27 21:50:50
【问题描述】:
所以我有一组代码可以选择要隐藏的特定范围的文本,我需要一个宏来选择那些隐藏的文本并取消隐藏它们。但是,我不知道如何选择那些隐藏的文本而不先显示它们。有没有办法在隐藏文本不显示时选择它们。我正在尝试创建一个动态模板,如果选择某些条件,则只会出现某些文本。到目前为止,这是我取消隐藏隐藏文本的代码。
Sub Macro2()
'
' Macro2 Macro
'
'
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.MoveUp Unit:=wdParagraph, Count:=4, Extend:=wdExtend
With Selection.Font
.NameFarEast = "+Body Asian"
.NameAscii = "+Body"
.NameOther = "+Body"
.Name = "+Body"
.Size = 11
.Bold = False
.Italic = False
.Underline = wdUnderlineNone
.UnderlineColor = wdColorAutomatic
.StrikeThrough = False
.DoubleStrikeThrough = False
.Outline = False
.Emboss = False
.Shadow = False
.Hidden = False
.SmallCaps = False
.AllCaps = False
.Color = wdColorAutomatic
.Engrave = False
.Superscript = False
.Subscript = False
.Spacing = 0
.Scaling = 100
.Position = 0
.Kerning = 0
.Animation = wdAnimationNone
.DisableCharacterSpaceGrid = False
.EmphasisMark = wdEmphasisMarkNone
.Ligatures = wdLigaturesNone
.NumberSpacing = wdNumberSpacingDefault
.NumberForm = wdNumberFormDefault
.StylisticSet = wdStylisticSetDefault
.ContextualAlternates = 0
End With
End Sub
【问题讨论】:
-
隐藏的文本必须在屏幕上可见才能被选中。所以你在你的代码中需要这个:
ActiveDocument.ActiveWindow.View.ShowHiddenText = True但是,你可以不让用户通过代码开头的Application.ScreenUpdating = False看到它们。虽然没有测试。 -
@masoud 添加 'ActiveDocument.ActiveWindow.View.ShowHiddenText = True' 有效!我从来没有想到这一点。不过,我不确定“Application.ScreenUpdating = False”。