Как я могу легко напечатать несколько слоев на нескольких страницах в Visio - PullRequest
0 голосов
/ 18 мая 2010

Мы создали блок-схему, используя Visio, которая имеет несколько слоев. (Фон состоит в том, что каждый слой представляет варианты базового процесса.)

Теперь мы хотим иметь возможность печатать каждый слой отдельно. В настоящее время для этого требуется много нажатий, чтобы выбрать правильный слой, а затем нажмите «Печать», а затем повторите это для каждого из 10 слоев.

Есть ли более простой способ? Например. определить каждый слой один раз и использовать инструмент / макрос "напечатать каждый слой"?

1 Ответ

1 голос
/ 19 мая 2010

Это довольно легко с помощью VBA. Я проверил это, используя страницу экспорта в JPEG, но печать должна работать также. Он просто перебирает все слои на активной странице, сначала прячет каждый слой, затем скрывает текущий зацикленный слой и печатает.

Sub PrintLayers()
    Dim CurrShowLayer As Visio.Layer, CurrLayer As Visio.Layer
    For Each CurrShowLayer In ActivePage.Layers
        For Each CurrLayer In ActivePage.Layers
            CurrLayer.CellsC(visLayerVisible).Formula = "0"
        Next CurrLayer
        CurrShowLayer.CellsC(visLayerVisible).Formula = "1"
        ActivePage.Print
    Next CurrShowLayer
    For Each CurrLayer In ActivePage.Layers
        CurrLayer.CellsC(visLayerVisible).Formula = "1"
    Next CurrLayer
End Sub
...