2016-10-20 1 views
0

나는 워드 문서를 작업 중이며 테이블을 숨기려고하는 명령 단추를 만들었습니다. 이제 내가 처음 설정했을 때, 나는 그것이 작동하고 있다고 생각했다. 나는 모든 스타일과 제목을 가지고 있었고 나는 버튼을 클릭했을 때 테이블이 사라질 것이다. 그런 다음 문서를 닫고 문서를 닫았지만 문서를 열었을 때 숨겨진 유일한 것은 테이블 안의 단어 뿐이었고 테이블 행은 숨겨져 있지 않았고 버튼을 토글 할 때 숨기는 것은 본문.Word 2010 VBA 테이블과 텍스트가 사라집니다.

내가 잘못하고있는 것이 있습니까? 여기에 난 그냥 버튼은 텍스트와이 버튼을 누를 때마다 숨길 수있는 테이블과 때 문서가 열려 및 폐쇄를 전환 할 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 

답변

2

테이블 내에서 사용하는 특정 글꼴 스타일을 숨기려고하지 않고 (아래) 테이블 글꼴을 숨김으로써이 방법을 사용합니다. 단지 전체 문서 버튼을 모두 거의 삭제 결국

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

:

는 당신의 라인을 따라 뭔가를 시도 할 수 있습니다. 표적으로 할 표를 어떻게 알 수 있습니까? –

+0

테두리를 숨길 수있는 방법이 있습니까? –

+0

아마 여러 가지 방법으로 특정 테이블을 선택하는 방법에 접근 할 수 있습니다. 그러나 테이블을 마우스 오른쪽 버튼으로 클릭하면 "alt text"탭을 클릭하고 테이블에 제목을 지정하면 코드 내에서 제목을 참조 할 수 있습니다. 따라서이 같은 것을 할 수있는 : ActiveDocument.Tables 에서 각 tTable를 들어 '공공 하위 commandButton1_Click() 을하면 tTable.Title = "TB"그럼 tTable.Borders.Enable = tTable.Borders.Enable하지 않음 Exit For End If 다음 End Sub' 이렇게하면 테이블에서 테두리가 제거됩니다. – Nulled