2017-12-29 36 views
0

Ich möchte bestimmte Schichten zu SVG durch VBA in Visio 2007 exportieren.Wie Hinzufügen von Ebenen zu einer Auswahl in Visio 2007 VBA?

Ich bleibe beim Hinzufügen der Ebenen zur Auswahl stecken. Wie mache ich das?

Sub tester() 

Dim Layer As Visio.Layer 
Dim Layers As Visio.Layers 
Dim sel  As Visio.Selection 

Dim filename As String 
Dim lyrName As String 
Dim iLays  As Integer 

Set Layers = Application.ActivePage.Layers 
Set sel = EmptySelection 'Or whatever empty initialization neeeds to happen... 

For iLays = 1 To Layers.Count 

    Set Layer = Layers(iLays) 
    lyrName = Layer.Name 

    If lyrName = "Walls" Or lyrName = "Zones" Then 
     sel.AddLayer (lyrName) 'or some such nonsense - This is broked. 
    End If 

    filename = Application.ActiveDocument.Path & "PootyStuff.svg" 
    'Export the page as svg file 
    sel.Export filename 

Next iLays 

Set Layer = Nothing 
Set Layers = Nothing 
End Sub 

Antwort

1

diesen Code Versuchen

Sub tester() 
Dim sel As Visio.Selection 
Dim filename As String 
ActiveWindow.DeselectAll 
' create selection by layers 
Set sel = ActivePage.CreateSelection(visSelTypeByLayer, visSelModeSkipSuper, "Walls;Zones") 
filename = Application.ActiveDocument.Path & "PootyStuff.svg" 
'Export the page as svg file 
sel.Export filename 
End Sub 
Verwandte Themen