Excel有很好的流程图制作工具菜单,其制作方法也有很多,相对也比较简单。
但是,如果不熟悉制作过程的情况下,还是有一定的难度的。
前言
通过代码来简化制作流程,就是说把制作方法都省去,直接把所有工作都集中到一个按钮上面来。
这样的制作就简单了多了。
下面通过代码来做一个简单流程图制作过程。
方法
打开界面,可以看到左侧是已经制作完成的一个示例。
其方法就是在右侧文本框内输入结构标签,单击制作按钮就自动添加进行了。
其实,这个功能还没有完全符合制作整个完整过程。
比如,如何删除,或插入一个标签。
考虑到其编码可能比较多,时间关系也就没有做。
不过,做一个简单过程还是可以完成的。
关键代码
AddShape(msoShapeRectangle, 150, 80, 150, 30)'添加矩形框
AddConnector(msoConnectorStraight, 100, 100, 150, 100)'添加菱形框
AddConnector(msoConnectorStraight, 100, 100, 150, 100).ConnectorFormat'创建一个连接符
掌握上面三条代码,就基本掌握了流程图形里面如何添加图形的基本操作了,具体方法,文后有代码可查看。
代码
顺序结构函数
Private Sub AddRectShape(m As Worksheet, FirstShape As Shape, Titels As String) Dim s As Shapes, SecondShape As Shape, ShapeConn As Object Dim sWidth As Integer, sHeight As Integer sWidth = 150 sHeight = 30 Set s = Me.Shapes Set SecondShape = s.AddShape(msoShapeRectangle,_ FirstShape.Left, sHeight + FirstShape.Top + FirstShape.Height, sWidth, sHeight) With SecondShape.TextFrame .HorizontalAlignment = xlVAlignCenter .VerticalAlignment = xlVAlignCenter With .Characters .Text = Titels With .Font .Size = 12 .Name = "微软雅黑" End With End With End With Set ShapeConn = s.AddConnector(msoConnectorStraight, 100, 100, 150, 100).ConnectorFormat With ShapeConn .BeginConnect connectedshape:=FirstShape, connectionsite:=3 .EndConnect connectedshape:=SecondShape, connectionsite:=1 End WithEnd Sub
分支结构函数
Private Sub AddDiamondShape(m As Worksheet, FirstShape As Shape, Titels As String) Dim s As Shapes, SecondShape As Shape, ShapeConn As Object Dim sWidth As Integer, sHeight As Integer sWidth = 150 sHeight = 60 Set s = Me.Shapes Set SecondShape = s.AddShape(msoShapeDiamond,_ FirstShape.Left, FirstShape.Top + sHeight, sWidth, sHeight) With SecondShape.TextFrame .HorizontalAlignment = xlVAlignCenter .VerticalAlignment = xlVAlignCenter With .Characters .Text = Titels With .Font .Size = 12 .Name = "微软雅黑" End With End With End With Set ShapeConn = s.AddConnector(msoConnectorStraight, 100, 100, 150, 100).ConnectorFormat With ShapeConn .BeginConnect connectedshape:=FirstShape, connectionsite:=3 .EndConnect connectedshape:=SecondShape, connectionsite:=1 End WithEnd Sub
如这篇文章对你有帮助
欢迎关注、收藏