2017-09-14 19 views
0

40 개 이상의 페이지/탭이있는 Visio 문서가 있습니다. 각 페이지에는 여러 레이어가 있으며 각 레이어를 개별적으로 검토 할 필요없이 명명 규칙이 준수되었는지 확인할 수 있도록 문서 전체의 모든 레이어 목록을 생성하려고합니다.다중 페이지 visio 문서의 모든 레이어 목록

이러한 목록을 출력 할 수 있는지 누가 알 수 있습니까? 예 : 1 페이지

  • foo_layer
  • bar_layer
  • 2 페이지
  • foo_layer
  • x_layer

    • , 그것은 P
  • 답변

    0

    확실한 등등 ossible. 예를 들어 VBA 매크로를 사용하여 작업을 수행하거나 외부 스크립트를 수행 할 수 있습니다. Visio에는 풍부한 API가 있습니다. 당신은 그 공식 문서를 조사 할 수 있습니다.

    0

    감사 Nikolay. 나는 상자에서 무엇인가 발견하기를 바랐다. 그러나 VBA가 구조에왔다. 이

    을 필요에 따라 그때 사용할 수있는 레이어 이름을 가진 텍스트 파일을 출력

    Sub List_page_Layers() 
    
    Dim Pageobj As Visio.Page 
    Dim PageLayer As Visio.Layer 
    Dim myFile As String 
    Dim layerVal As String 
    Dim searchString as String 
    searchString = "SOME TEXT" 'This allows me to filter as there were a couple of pages I wasn't interested and all other pages had a common string in their name 
    myFile = "C:\\Temp\\Layers.txt" 
    
    Open myFile For Output As #1 
    
    For Each Pageobj In ActiveDocument.Pages 
        If InStr(Pageobj.Name, searchString) Then 
         For Each PageLayer In Pageobj.Layers 
          layerVal = Pageobj.Name & " - " & PageLayer.Name 
    
          Write #1, layerVal 
         Next 
        End If 
    
    Next 
    Close #1 
    End Sub 
    

    : 경우 이것은 여기에 다른 사람에게 유용한 것은 내 코드입니다