乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 88|回复: 6

[求助]如何加while语句

[复制链接]

14

主题

623

帖子

8

银币

中流砥柱

Rank: 25

铜币
679
发表于 2005-4-12 17:10:00 | 显示全部楼层 |阅读模式
下面程序如何加while语句,我想循环选择圆弧,直到回车结束程序。谢谢!         Sub arc_to_circle()
                         Dim cen As Variant
                         Dim radius As Single
                         Dim obj As AcadArc
                         Dim circleObj As AcadCircle
                         ThisDrawing.Utility.GetEntity obj, point, "选择圆弧:"
                         cen = obj.Center
                         radius = obj.radius
                         obj.Delete
                         Set circleObj = ThisDrawing.ModelSpace.AddCircle(cen, radius)
        End Sub
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2005-4-12 21:16:00 | 显示全部楼层
Sub arc_to_circle()
        On Error GoTo ErrHandle
                         Dim cen As Variant
                         Dim radius As Single
                         Dim obj As AcadArc
                         Dim circleObj As AcadCircle
                         Do While True
                                                         ThisDrawing.Utility.GetEntity obj, Point, "选择圆弧:"
                                                         cen = obj.Center
                                                         radius = obj.radius
                                                         obj.Delete
                                                         Set circleObj = ThisDrawing.ModelSpace.AddCircle(cen, radius)
                         Loop
ErrHandle:
End Sub
回复

使用道具 举报

14

主题

623

帖子

8

银币

中流砥柱

Rank: 25

铜币
679
发表于 2005-4-12 21:28:00 | 显示全部楼层
多谢版主指点,现在明白了!我刚开始接触VBA,所以有很多东西要学,还望你们多多指教!!
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2005-4-12 21:55:00 | 显示全部楼层
Sub arc_to_circle()
                         Dim Centre As Variant
                         Dim BasePnt As Variant
                         Dim Rad As Double
                         Dim ReturnObj As AcadArc
                         Dim circleObj As AcadCircle
                         Dim Descript As String
        Do
                         On Error Resume Next
                         ThisDrawing.Utility.InitializeUserInput 1, " "
                         ThisDrawing.Utility.GetEntity ReturnObj, BasePnt, "选择圆弧:"
                         If Err  0 Then
                                         Descript = Err.Description
                                         Err.Clear
                                         If Descript = "类型不匹配" Then
                                                         MsgBox "不是圆弧!"
                                                         Else
                                                         If Descript =         "用户输入的是关键字" Then
                                                         Exit Do
                                                         Else
                                                                 MsgBox "没有选择!"
                                                         End If
                                         End If
                         Else
                         Centre = ReturnObj.center
                         Rad = ReturnObj.radius
                         ReturnObj.Delete
                         Set circleObj = ThisDrawing.ModelSpace.AddCircle(Centre, Rad)
                         End If
        Loop
        End Sub
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2005-4-12 21:58:00 | 显示全部楼层
我的建议,尽量少用Err.Description,而用Err.Number好些,这样可以避免不同语言版本的问题。
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2005-4-12 22:01:00 | 显示全部楼层
谢谢明总指教,呵呵
回复

使用道具 举报

4

主题

28

帖子

2

银币

初来乍到

Rank: 1

铜币
44
发表于 2005-4-13 09:47:00 | 显示全部楼层
我见好多代码里面都用 On Error Resume Next 这样好不好的啊?什么情况下应该而且提倡用,什么情况下最好不要用 啊,谢谢!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-16 22:06 , Processed in 0.373721 second(s), 77 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表