Visio VBA以编程方式“单击”操作

时间:2012-06-06 20:17:21

标签: vba office-interop visio

我有一些代码可以为我生成Visio主服务器,并且一些主服务器具有自动生成的Action部分,其中包含一个或多个操作。我想做的是将每个主人都放到一个页面中,然后运行形状中的动作列表,然后执行每个动作,并检查它们是否完整而没有错误。

我的动作都使用CALLTHIS来执行VBA代码,所以我猜可能使用Application.ExecuteLine,然后我只需要解析CALLTHIS及其参数。但是我想知道,Visio VBA中是否有一些机制可以让我以编程方式执行某个操作,或者我自己也坚持这样做了?

1 个答案:

答案 0 :(得分:2)

在单元格对象上有一个Trigger方法,因此您可以遍历Action行,如下所示:

Private Sub TriggerActionCells(ByRef shpIn As Shape)
If Not shpIn Is Nothing Then
    If shpIn.SectionExists(visSectionAction, 0) Then
        Dim iRow As Integer
        For iRow = 1 To shpIn.RowCount(visSectionAction)
            shpIn.CellsSRC(visSectionAction, iRow - 1, visActionAction).Trigger
        Next iRow
    End If
End If
End Sub