excel VBA 画线成功,想显示在图的前端,求助
想在图中点三个点,坐标直接读取到表格内,并画线,现在读取坐标和画线也能成,只不过线显示一下就不见了想法:
1、把画的线显示在最前端
2、按动按钮后,清除已画的线
https://www.lanzouj.com/i8duv1i
本帖最后由 ymhld 于 2020-1-16 13:52 编辑
请大佬们进来指点一下,如何能画,还不影响其他操作 请大佬们进来指点 手工顶贴,大佬指路呀 liucq 发表于 2020-1-16 16:08
在excel里面创建一个线段对象是可以的,但是不能用gdi直接画。我没有看你的程序,所以不知道你是哪种情况
是在excel vBA 中编的一段,想在图中点三个点,现在能把三个点的屏幕坐标点上,想做成三个点在一条直线上,所以想到了画线的方法,如果能达到这种效果,不画线也行,如果有空,可以帮着看一下 线就是图形集合的元素,可以定义一个图形对象,然后遍历每一个图形去进行操作
Sub main()
Dim line As Shape
For Each line In ActiveSheet.Shapes
line.Select
Next line
End Sub
aiai 发表于 2020-2-11 03:20
线就是图形集合的元素,可以定义一个图形对象,然后遍历每一个图形去进行操作
Sub m ...
我这个问题确实挺难解,1、要画线,2只显示画线,而不影响在线上再点鼠标取点
不知道大佬有啥好办法没有,看看帮我改改? ymhld 发表于 2020-2-11 10:38
我这个问题确实挺难解,1、要画线,2只显示画线,而不影响在线上再点鼠标取点
不知道大佬有啥好办法没 ...
在画线的时候,为画的线指定一个唯一的name属性,然后在遍历图形对象的时候,只对这个唯一的name对象进行操作
Sub main()
ActiveSheet.Shapes.AddConnector(msoConnectorStraight, 103.2, 64.8, 702.6, 64.8).Select
Selection.ShapeRange.Name = "直线"
Dim line As Shape
For Each line In ActiveSheet.Shapes
If line.Name = "直线" Then
line.Delete
End If
Next line
End Sub aiai 发表于 2020-2-11 13:24
在画线的时候,为画的线指定一个唯一的name属性,然后在遍历图形对象的时候,只对这个唯一的name对象进行 ...
我先试试,因为画完线,还要在线上点一个点,画点的时候,会读取点的坐标到表格里。
如果画了线,点个点儿的时候,会选择线,这个比较麻烦,
页:
[1]
2