가장 간단한 것을 시도하고 있습니다 - GlueTo를 사용하여 매크로를 사용하여 visio에서 두 개의 2 차원 도형을 연결하십시오. "In"과 "Out"이있는 연결 지점에 두 개의 도형을 추가했습니다. 이제 마우스와 연결하려고 할 때 괜찮습니다. 내가 그 모양을 unglue 및 기록 된 매크로를 실행하면, 그것은visio에서 두 개의 2 차원 도형을 연결하십시오.
어떻게 "이 작업에 대한 부적절한 소스 개체"를 던질 것입니다 ...
Sub Macro1()
'Enable diagram services
Dim DiagramServices As Integer
DiagramServices = ActiveDocument.DiagramServicesEnabled
ActiveDocument.DiagramServicesEnabled = visServiceVersion140
Dim UndoScopeID1 As Long
UndoScopeID1 = Application.BeginUndoScope("1")
ActiveWindow.DeselectAll
ActiveWindow.Select Application.ActiveWindow.Page.Shapes.ItemFromID(1), visSelect
Application.ActiveWindow.Selection.Move -1.161417, 0.669291
Dim vsoCell1 As Visio.Cell
Dim vsoCell2 As Visio.Cell
Set vsoCell1 = Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsU("PinX")
Set vsoCell2 = Application.ActiveWindow.Page.Shapes.ItemFromID(15).CellsSRC(7, 0, 0)
vsoCell1.GlueTo vsoCell2
Dim vsoCell3 As Cell
Dim vsoCell4 As Cell
Set vsoCell3 = Application.ActiveWindow.Page.Shapes.ItemFromID(1).CellsSRC(visSectionConnectionPts, 0, 0)
Set vsoCell4 = Application.ActiveWindow.Page.Shapes.ItemFromID(15).CellsSRC(visSectionConnectionPts, 0, 0)
vsoCell3.GlueTo vsoCell4
Application.EndUndoScope UndoScopeID1, True
'Restore diagram services
ActiveDocument.DiagramServicesEnabled = DiagramServices
End Sub
그리고 그것은 작동하지 않습니다 : 은 그 때 나는 매크로를 기록했다 고쳐?
대단히 감사합니다, 팻! 나는 모양 중 하나에 컨트롤 핸들을 추가하고 그것을 붙이려고했는데 (녹음 된 매크로처럼 PinX가 아님) 작동했습니다! – JleruOHeP