【问题标题】:Visio VBA ScriptVisio VBA 脚本
【发布时间】:2015-08-20 03:16:37
【问题描述】:

我试图弄清楚如何浏览 50 页的 Visio Doc 并取出所有特定形状中的文本。它们都是“子过程”形状。我不确定最好的方法是什么,我试图浏览每个页面上的每个形状并检查它的名称是否与“子进程”匹配。 + 迭代次数。它基本上会为每个形状迭代大约 200 个形状名称:疯狂且行不通。不知道如何做到这一点,因为它们都有唯一的名称,但我知道每个名称都以“子进程”开头。

到目前为止的代码:

Public Sub FindOffPageShapes()
Dim shp As Visio.Shape
Dim pagShape As Visio.Shape
Dim myInt As Integer
    Set pagShape = Visio.ActivePage.PageSheet
    For Each shp In Visio.ActivePage.Shapes
        While shp.Name <> "Subprocess." & CStr(myInt) Do
            Do myInt = myInt + 1
        If shp.TextFrame.Characters.Name = "Subprocess." & CStr(myInt) Then
            shp.Text = ""
        End If
Next shp
End Sub

谢谢!

【问题讨论】:

    标签: vba visio


    【解决方案1】:

    您可以只使用 Like 关键字来测试字符串是否与“子流程”模式匹配。见下文。

    Option Compare Text
    Public Sub FindOffPageShapes()
    Dim shp As Visio.Shape
    Dim pagShape As Visio.Shape
    Dim myInt As Integer
        Set pagShape = Visio.ActivePage.PageSheet
        For Each shp In Visio.ActivePage.Shapes
            If shp.Name like "Subprocess*" Then
                shp.Text = ""
            End If
        Next shp
    End Sub
    

    【讨论】:

    • 保罗,如果这个解决方案对你有用,这个网站设置在你会接受我的回答的地方,非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2015-04-17
    相关资源
    最近更新 更多