运行时错误4605:ShowHiddenText方法或属性不可用,因为此命令不可读取

时间:2019-06-14 19:47:25

标签: vba ms-word word-vba

我对使用内容控件还相当陌生,并且正在设计Word表单进行工作。当前表单隐藏了内容控件的帮助文本(我已启用该选项以在计算机上显示隐藏的控件);但是,我想确保表单的用户在打开表单时能够看到这些控件。问题是当不隐藏帮助文本时,它会打印在表单上。有没有一种方法可以设置控件,以使帮助文本不会打印出来,但用户打开表单后仍然可以看到?

我尝试使用以下代码,但是遇到了问题。该代码可以在我的计算机上工作,但是当同事对其进行测试时,它导致出现错误消息,而我不知道为什么。单行代码已突出显示,但是随着代码在我的计算机上工作,我不确定如何修复它(我对Visual Basic也很陌生)。

Sub AutoOpen()

    ActiveWindow.View.ShowHiddenText = True

End Sub

我希望当另一个用户打开文档时,他们会看到隐藏的文本,就像未隐藏一样;但是,当另一个用户打开文档时,他们会收到此错误:

  

“运行时错误'4605':

     

ShowHiddenText方法或属性不可用,因为这   该命令不可读取。”

1 个答案:

答案 0 :(得分:0)

正在发生错误消息,因为Word在“阅读”而不是“打印”视图中打开文档。例如,从电子邮件打开文档时,通常就是这种情况。

在隐藏文本行之前添加以下行会有所帮助,因为这将迫使文档切换到“打印布局”视图:

ActiveWindow.View = wdPrintView

所以

Sub AutoOpen()
  Dim vw as View
  Set vw= ActiveWindow.View
  vw = wdPrintView
  vw.ShowHiddenText = True
End Sub