2011-12-22 78 views
1

我带了一个旧的MS Word文档,以适应新的布局。Word VBA:.Hide函数不隐藏?

我上周完成了,一切正常,主宏必须隐藏或显示一些文本。

为此,文本区“书签”,然后我们得到这个书签,并设置其字体为隐藏:

ActiveDocument.Bookmarks("MyBookMarkname").Range.Font.Hidden = True 'Or False 

这是它是如何在旧文档做的,我只在新文档上做同样的事情(重新创建这些书签)。

但今天,当再次尝试进行此操作时,文本不再隐藏!当它被认为是隐藏的时候,文本就像一条蓝色的下划线(当一个单词拼写不正确,但是蓝色时,与你所在的行相同)。

我在网上搜索,我发现了几件事情,但他们没有工作:

Private Sub HideHiddenText() 
    For Each myWindow In Windows 
     myWindow.View.ShowHiddenText = False 
    Next myWindow 
End Sub 

我没有“修改模式”已启用任。

什么可能是错的?

回答

3

我相信Word显示的波浪蓝线正在被隐藏文本触发,因为Word使用蓝线标记格式不一致。为了摆脱在Office 2007/2010行去

办公室ORB菜单(2007)或文件菜单(2010)|选项|高级

,并取消标记格式不一致

然而,波浪形的蓝线与您显示的隐藏文字无关。我相信这是因为“显示/隐藏格式标记”功能打开。为了确保你的隐藏文字存隐忧通过VBA,你将需要:

With ActiveDocument 
    .ActiveWindow.View.ShowAll = False 'Hide all formatting marks 
    .ActiveWindow.View.ShowHiddenText = False 'Do not display hidden text 
    .Application.Options.PrintHiddenText = False 'Do not print hidden text 
End With 

值得注意的是,一个有经验的Word用户可随时选择通过Word的用户界面和,如果这是显示隐藏的文本为避免这种情况,需要投入大量的额外工作来禁用可用于显示隐藏文本的原生Word函数(如果甚至可能的话)。

+0

如果占位符显示,还要添加以下命令:'.ActiveWindow.View.ShowBookmarks = False' – southskies