使用VB代码在Visio中连接两个图形

原始版本

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim filePath1 As String = "C:\Users\XUST\Desktop\sample.vsdx"
        Dim filePath2 As String = "C:\Users\XUST\Desktop\sample-save.vsdx"
        Dim visioApp As Visio.Application
        visioApp = New Visio.Application
        'Dim doc As Visio.Document = visioApp.Documents.Add("")

        visioApp.Visible = False


        Dim filePath3 As String = "C:\Users\XUST\Desktop\3334455.vsdx"

        Dim doc = visioApp.Documents.Open(filePath3)

        '原文件中创建一个连接线,在00位置,由于源文件中最后一个图形ID为8,所以下面这句话创建的图像id为9
        visioApp.ActiveWindow.Page.Drop(doc.Masters.ItemU("Dynamic connector"), 0#, 0#)

        Dim vsoCell1 As Visio.Cell
        Dim vsoCell2 As Visio.Cell

        '设置id为9的链接线的起始位置位于id为1的元素的720位置
        vsoCell1 = visioApp.ActiveWindow.Page.Shapes.ItemFromID(9).CellsU("BeginX")
        vsoCell2 = visioApp.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(7, 2, 0)
        vsoCell1.GlueTo(vsoCell2)

        vsoCell1 = visioApp.ActiveWindow.Page.Shapes.ItemFromID(9).CellsU("EndX")
        vsoCell2 = visioApp.ActiveWindow.Page.Shapes.ItemFromID(7).CellsSRC(7, 0, 0)
        vsoCell1.GlueTo(vsoCell2)

        doc.SaveAs("C:\Users\XUST\Desktop\4455.vsdx")

        visioApp.Quit()

    End Sub

posted @ 2022-04-23 14:29  星禾的博客  阅读(290)  评论(0)    收藏  举报