Word 2010 VBA使表格和文本消失

时间:2016-10-20 13:39:30

标签: vba ms-word word-vba

我正在处理一个word文档,并创建了一个命令按钮,用于隐藏表格。现在,当我第一次设置它时,我认为我得到它的工作我得到它所有样式和标题,当我点击按钮表将消失。 然后我保存并关闭了文档,但是当我打开文档时,我发现隐藏的唯一东西是表格内的文字,表格线没有隐藏,当我切换按钮时,唯一隐藏的是文本。

我做错了吗?这是VBA中的代码

Private Sub CommandButton1_Click()
ThisDocument.Styles("HideText").Font.Hidden = Not ThisDocument.Styles("HideText").Font.Hidden 
End Sub

我只想让按钮在每次按下按钮时以及文档打开和关闭时切换文本和表格。

更新可能会对表格也有自己的风格。我应该定位那个以及样式中的文本吗?那是怎么回事?

更新#2

我现在能够隐藏和取消隐藏我想要的桌子部分但是在我让桌子可见之后它没有显示出来。那么有没有办法通过单击按钮来显示表格?

这是我到目前为止所拥有的。

    Private Sub CommandButton1_Click()
    ThisDocument.Styles("HideText").Font.Hidden = Not ThisDocument.Styles("HideText").Font.Hidden
    'Table Grid
    Dim s As Style
    Dim An As Integer
    An = 0

    If An = 0 Then
    For Each s In ActiveDocument.Styles
            If s.Type = wdStyleTypeTable Then
                If s.NameLocal = "Table Grid" Then
                    Debug.Print (s.NameLocal)
                    s.Visibility = False
                    s.UnhideWhenUsed = False
                    Call s.Delete
                End If
            End If
        Next
    An = 1
    End If

    If An = 1 Then
    For Each s In ActiveDocument.Styles
            If s.Type = wdStyleTypeTable Then
                If s.NameLocal = "Table Grid" Then
                    Debug.Print (s.NameLocal)
                    s.Visibility = True
                    s.UnhideWhenUsed = True
                    Call s.Delete
                End If
            End If
        Next
    An = 0
    End If

    End Sub

1 个答案:

答案 0 :(得分:2)

我会通过隐藏表格的字体(如下所示)而不是试图隐藏您在表格中使用的特定字体样式来实现此目的。

您可以尝试以下方式:

Public sub CommandButton1_Click()
    With ActiveDocument.Tables(1).Range.Font
        .Hidden = Not .Hidden
    End With
End Sub