Printing 如何在Visio的多个页面上轻松打印多个图层

Printing 如何在Visio的多个页面上轻松打印多个图层,printing,visio,flowchart,layer,Printing,Visio,Flowchart,Layer,我们已经使用Visio创建了一个具有多个层的流程图。(背景是每一层代表一个基本过程的变化。) 现在我们希望能够单独打印每一层。目前,这需要多次单击以选择正确的图层,然后按“打印”,然后对10个图层中的每个图层重复此操作 有没有更简单的方法?例如,定义每一层并使用“打印每一层”工具/宏?这通过VBA相当容易。我使用页面导出到jpeg对其进行了测试,但打印也应该可以。它只是在活动页面的所有层中循环,首先隐藏每个层,然后取消隐藏当前循环层,然后打印 Sub PrintLayers() Dim

我们已经使用Visio创建了一个具有多个层的流程图。(背景是每一层代表一个基本过程的变化。)

现在我们希望能够单独打印每一层。目前,这需要多次单击以选择正确的图层,然后按“打印”,然后对10个图层中的每个图层重复此操作


有没有更简单的方法?例如,定义每一层并使用“打印每一层”工具/宏?

这通过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

Jon-对延迟回复表示歉意。这个问题是代表一位尚未测试您的代码的同事提出的。但因为这是唯一的答案,我会让它成为被接受的答案。非常感谢。