我们使用具有多个层的 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