當您使用的隱藏屬性隱藏/顯示文本工作,確保隱藏文字的顯示在Word中UI 和關閉所有非打印選項的顯示也必須關閉。單獨的optinos在文件/選項/顯示中;所有非打印字符都可以使用「主頁」選項卡中的「向後P」打開/關閉。
當然,如果這是一個供其他人使用的宏,沒有人希望不斷進入文件/選項/顯示來更改這些設置。這是一個宏,它可以打開除隱藏文字以外的所有內容的單獨設置。如果顯示非打印字符。
根據複選框的狀態關閉非打印字符並顯示隱藏文字。
Private Sub CheckBox1_Click()
Dim vw As Word.View
Dim bChecked As Boolean
Dim bkm As Word.Bookmark
'If the user is currently viewing non-printing characters
'make sure these are turned on individually so that
'not displaying Hidden text does not affect these settings.
Set vw = Application.ActiveWindow.View
If vw.ShowAll = True Then
vw.ShowParagraphs = True
vw.ShowObjectAnchors = True
vw.ShowTabs = True
vw.ShowHyphens = True
vw.ShowOptionalBreaks = True
vw.ShowSpaces = True
End If
vw.ShowAll = False
vw.ShowHiddenText = False
bChecked = Me.CheckBox1.Value
Set bkm = ActiveDocument.Bookmarks("TEXT_Butane")
If bChecked Then
bkm.Range.Font.Hidden = False
Else
bkm.Range.Font.Hidden = True
End If
End Sub
如果這是一個專業的應用程序,你要存儲的個人「秀」的設置,並重新應用它們時,本文檔不再是活動文檔。但是,這是非常高級的編程...
你可以嘗試使用Selection.Find並找到.Font.Hidden = true然後在查找,Replacement.Font.Hidden = false。您必須確保Selection.Find中的.Format屬性爲true,並且您的Selection.Find.Text =「」 – GibralterTop
因此,此複選框是文檔表面上的ActiveX控件?如果您在代碼中放置了MsgBox,或者在單擊該框時執行了Debug.Print?難道你不想根據複選框的設置來隱藏/統一文本,而不是隻是切換? –