【问题标题】:Cycle 'Shape Data' in Visio在 Visio 中循环“形状数据”
【发布时间】:2016-06-28 03:43:32
【问题描述】:

抱歉,这似乎相当基本,但我似乎无法找到足够的文档。 我基本上需要使用 Visio 16 中的 VBA 循环浏览形状表上“形状数据”中的行。我正在寻找的代码(我想)看起来有点像这样:

sub printLabelsAndProps()
    for each x in UnknownGroupOfThings
        debug.print x.prop.DataAndDocuments
        debug.print x.prop.Supports
    Next
end sub

帮助赞赏

【问题讨论】:

    标签: vba visio


    【解决方案1】:

    如果您知道您的所有形状都有“DataAndDocuments”和“Supports”属性,您可以使用类似下面的代码(否则您可能需要使用.CellExists 检查形状是否具有这些属性)。此外,如果您的单元格包含计算字符串,那么您应该使用.ResultStr() 而不是.Formula。如果这些值是数字,你甚至可以不用.Formula

    Sub printLabelsAndProps()
        For Each x In ActivePage.Shapes
            Debug.Print x.Cells("Prop.DataAndDocuments").Formula
            Debug.Print x.Cells("Prop.Supports").Formula
        Next
    End Sub
    

    如果您想循环浏览单个形状的所有属性,您可以使用以下内容:

    Sub showAllProperties(x As Shape)
        For i = 0 To x.Section(visSectionProp).Count - 1
            Debug.Print x.CellsSRC(visSectionProp, i, visCustPropsLabel).Formula
            Debug.Print x.CellsSRC(visSectionProp, i, visCustPropsValue).Formula
        Next
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-15
      • 1970-01-01
      • 2022-11-12
      • 2018-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多