找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2110|回复: 10

[已解决] vba转换成vlisp

[复制链接]
发表于 2013-6-2 09:54:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
这个是VBA程序 统一改图号的 谁看看能不能改写成VLISP程序
  1. Dim Num As Integer
  2. Dim A() As String
  3. Sub ChangeTxt()
  4. 'On Error GoTo errhandle
  5. Dim Sset As AcadSelectionSet
  6. Dim Sset1 As AcadSelectionSet
  7. Dim FilterType(0) As Integer
  8. Dim FilterData(0) As Variant
  9. Dim AcadText As AcadText, NewText As AcadText, AcadText1 As AcadText
  10. Dim Num As Integer
  11. Dim Delete As Boolean
  12. Dim First As String, Second As String, Sep As Integer, TempText As String, InsertPoint As Variant, Points(2) As Double, Second1 As String
  13. Dim I As Integer
  14. Delete = False
  15. Num = 0
  16. 'Do
  17.     FilterType(0) = 0
  18.     FilterData(0) = "Text,Mtext"
  19.     'If Not IsNull(ThisDrawing.SelectionSets.Item("sse1")) Then
  20.         'Set SSet = ThisDrawing.SelectionSets.Item("sse1")
  21.         'SSet.Delete
  22.     'End If
  23.     'ZoomExtents
  24. '安全创建选择集
  25.     Do While ThisDrawing.SelectionSets.Count > 0
  26.         ThisDrawing.SelectionSets.Item(0).Delete
  27.     Loop
  28. '创建选择集

  29.     Set Sset = ThisDrawing.SelectionSets.Add("sse1")
  30.     'Set Sset1 = ThisDrawing.SelectionSets.Add("sse2")
  31.     'Sset1.Select acSelectionSetAll, , , FilterType, FilterData
  32. '提示用户选择
  33.     Sset.SelectOnScreen FilterType, FilterData
  34.     'MsgBox SSet.Count
  35.    
  36.     If Sset.Count <> 0 Then
  37.         For Each AcadText In Sset
  38.             If InStr(AcadText.TextString, "-----") > 0 Then
  39.                 'ReDim Preserve A(0 To Num)
  40.                 InsertPoint = AcadText.InsertionPoint
  41.                 TempText = AcadText.TextString
  42.                 Sep = InStr(TempText, "-")
  43.                 First = Left(TempText, Sep - 1)
  44.                 TempText = Right(TempText, 2)
  45.                 Second1 = Left(TempText, 1)
  46.                 Second = Left(TempText, 1)
  47.                 Select Case Second
  48.                     Case 1
  49.                         Second = "(一)"
  50.                     Case 2
  51.                         Second = "(二)"
  52.                         
  53.                     Case 3
  54.                         Second = "(三)"
  55.                     Case 4
  56.                         Second = "(四)"
  57.                     Case 5
  58.                         Second = "(五)"
  59.                     Case 6
  60.                         Second = "(六)"
  61.                     Case 7
  62.                         Second = "(七)"
  63.                     Case 8
  64.                         Second = "(八)"
  65.                     Case 9
  66.                         Second = "(九)"
  67.                 End Select
  68.                 Points(0) = InsertPoint(0) + 179.5: Points(1) = InsertPoint(1) - 233.2: Points(2) = InsertPoint(2)
  69.                 If Len(AcadText.TextString) <> 8 Then
  70.                     AcadText.TextString = First & "-----" & First & "'" & Second
  71.                     TempText = "2-" & First & "-" & Second1
  72.                 Else
  73.                     TempText = "2-" & First
  74.                   
  75.                 End If
  76.                
  77.                 Set NewText = ThisDrawing.ModelSpace.AddText(TempText, Points, 3.5)
  78.                 NewText.StyleName = "ST"
  79.                 NewText.ScaleFactor = 1
  80.                 Num = Num + 1
  81.             End If
  82.         Next

  83.     End If
  84.    
  85.     MsgBox "共修改了" & Num & "个文字。"
  86.     Sset.Delete     '及时删除选择集
  87.     'Sset1.Delete
  88. 'Loop
  89. errhandle:
  90.     If Err.Number <> 0 Then

  91.         Exit Sub
  92.     End If
  93.     '

  94. End Sub






acad.rar

7.55 KB, 下载次数: 5, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-6-2 10:18:36 | 显示全部楼层
说说这个程序是改什么的
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-2 10:27:00 | 显示全部楼层
修改我们勘察剖面图图号的
他这个程序还有点问题 最好也能调整一下
vba 使用起来不方便
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-2 10:42:58 | 显示全部楼层
我把修改前后图纸和动画都发送上来了

新建文件夹.rar

599.01 KB, 下载次数: 3, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-2 10:44:22 | 显示全部楼层
动画上传不了不好意思

点评

你要把规则说清楚别人才好帮你,看程序很累的 7-1-----7-1 => 7-----7(一) 9-2-----9-2 => 9-----9(二) 上面的程序对以下格式也进行了修改,不知道是不是本意 11-----11 => 11-----11(一) 15-----15 =>  详情 回复 发表于 2013-6-2 11:59
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2013-6-2 11:59:35 | 显示全部楼层
maiqi816 发表于 2013-6-2 10:44
动画上传不了不好意思

你要把规则说清楚别人才好帮你,看程序很累的

7-1-----7-1 => 7-----7(一)
9-2-----9-2 => 9-----9(二)

上面的程序对以下格式也进行了修改,不知道是不是本意

11-----11  => 11-----11(一)
15-----15  => 15-----15(五)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2013-6-2 13:48:45 | 显示全部楼层
你还不如直接说你想要做什么,直接给你写LISP。详细的说出要求,贴上图片做说明。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-2 14:34:47 | 显示全部楼层
是这个意思 不过右下角还有一个图号的问题7-1-----7-1 => 7-----7(一)
对应图号2-7-1或3-7-1 、7-----7 => 7-----7 对应图号则为2-7或3-7 以此类推
如果右下角的图号能放置在图号下面的格子里 并居中最好!

点评

本程序仅是针对LZ提供样图对特定应用,请酌情下载! 命令:Chgtl 说明:本程序针对的是程序自动生成的图框及文字,在手动增删右下角标文字后可能造成混乱! **** 本内容被作者隐藏 ****  详情 回复 发表于 2013-6-2 22:19
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-6-2 22:19:09 | 显示全部楼层
maiqi816 发表于 2013-6-2 14:34
是这个意思 不过右下角还有一个图号的问题7-1-----7-1 => 7-----7(一)
对应图号2-7-1或3-7-1 、7-----7 => ...

本程序仅是针对LZ提供样图对特定应用,请酌情下载!
命令:Chgtl
说明:本程序针对的是程序自动生成的图框及文字,在手动增删右下角标文字后可能造成混乱!
游客,本帖隐藏的内容需要积分高于 50 才可浏览,您当前积分为 0

chgtl.rar

1.34 KB, 下载次数: 2, 下载积分: D豆 -1 , 活跃度 1

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-3 08:26:07 | 显示全部楼层
非常好完全达到我预想目的非常感谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 31个

财富等级: 招财进宝

发表于 2017-10-9 07:39:00 | 显示全部楼层
有没有什么工具直接把VBA转换成LSP的呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-29 03:22 , Processed in 0.310263 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表