Visio VBA动态连接线自动连接、添加文本及改色实现方法
Visio VBA 自动连接线自定义实现
你只需要在原有自动连接逻辑执行完成后,针对连接线对象追加对应属性设置语句即可,不需要改动原有代码的核心结构,整合后的完整可运行代码如下:
Public Sub AutoConnect_Example() Dim vsoShape1 As Visio.Shape Dim vsoShape2 As Visio.Shape Dim vsoConnectorShape As Visio.Shape Set vsoShape1 = Visio.ActivePage.Shapes("Decision") Set vsoShape2 = Visio.ActivePage.Shapes("Process") Set vsoConnectorShape = Visio.ActivePage.Shapes("Dynamic connector") ' 执行两个形状的自动连接 vsoShape1.AutoConnect vsoShape2, visAutoConnectDirRight, vsoConnectorShape ' 给动态连接线添加指定文本,默认显示在连接线中点位置 vsoConnectorShape.Text = "SSL" ' 将连接线线条颜色设置为纯红色,兼容全版本Visio vsoConnectorShape.CellsU("LineColor").FormulaU = "RGB(255, 0, 0)" End Sub
关键语句说明
- 文本赋值:直接访问形状的
Text属性即可完成连接线文本添加,如果你需要修改文本字号、字体,可以通过vsoConnectorShape.Characters对象下的对应属性调整。 - 颜色设置:通过形状表的
LineColor单元格赋值RGB值的方式设置线条颜色,比直接调用颜色对象的兼容性更强,不会出现版本适配问题。如果需要调整为其他颜色,只需要修改RGB括号内的三个数值(分别对应红、绿、蓝通道,取值范围0-255)即可。
注意:运行代码前请确认当前活动页面内存在名称为
Decision、Process的两个目标形状,以及Dynamic connector连接线对象,否则会触发下标不存在的运行时错误。
内容的提问来源于stack exchange,提问作者Raphael LAZZARI--ARMOUR
相关产品推荐
相关产品推荐

