1

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

现在我们希望能够单独打印每一层。目前,这涉及大量单击以选择正确的图层,然后按打印 - 然后对 10 个图层中的每一个重复此操作。

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

4

1 回答 1

2

这通过 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
于 2010-05-18T22:06:18.277 回答