为什么我写的这个程序无法使用?
Private Sub UserForm_Click()Dim acadapp As AcadObject<BR>Set acadapp = AcadApplication<BR>Dim sset As AcadSelectionSet<BR>Set sset = ThisDrawing.SelectionSets.Add("newtext")<BR>sset.SelectOnScreen<BR>Dim txt As AcadText<BR>For Each txt In sset<BR>If txt.TextString = "q" Then txt.TextString = "2"<BR>txt.Update<BR>Next txt<BR>sset.Delete<BR>Set acadapp = Nothing<BR>End Sub
我这个程序运行后电脑没提示有毛病啊,可是运行一次后就是无法在CAD2004窗口上选我要更改的文字,求教那里有毛病?先行感谢!<BR> 1,过滤选择集加速度更快
2,遍历选择集变量定义为:Dim txt As Object 这是在VB里面编写的程序吧?
thisDrawing改为acadapp.ActiveDocument试试。 不是在VB里写的dim acadapp as object
set acadapp=..............
这两句是我在VB和VBA的感念十分混乱的时候写的,现在看来在VBA里是没什么用处的!
我忘删掉了,但是删掉它们后,或者采用三楼的方法还是只能运行一次!
why
第二次运行的时候是不是出错?
出什么错误提示? 是的出错提示是:命名选择集已存在
但是我已经用delete方法删除了
下面是我在《VBA精彩实例教程》中的解决方法:
<P class=a2 style="MARGIN: 0cm 0cm 0pt"><FONT size=2> On Error Resume Next</FONT>
<P class=a2 style="MARGIN: 0cm 0cm 0pt"><FONT size=2><SPAN style="mso-spacerun: yes"> Dim SSet As AcadSelectionSet</FONT></SPAN>
<P class=a2 style="MARGIN: 0cm 0cm 0pt"><FONT size=2><SPAN style="mso-spacerun: yes"> If Not IsNull(ThisDrawing.SelectionSets.Item("Example")) Then</FONT></SPAN>
<P class=a2 style="MARGIN: 0cm 0cm 0pt"><FONT size=2><SPAN style="mso-spacerun: yes"> Set SSet = ThisDrawing.SelectionSets.Item("Example")</FONT></SPAN>
<P class=a2 style="MARGIN: 0cm 0cm 0pt"><FONT size=2><SPAN style="mso-spacerun: yes"> SSet.Delete '</SPAN>及时删除不用的选择集非常重要</FONT>
<P class=a2 style="MARGIN: 0cm 0cm 0pt"><FONT size=2><SPAN style="mso-spacerun: yes"> End If</FONT></SPAN>
<P class=a2 style="MARGIN: 0cm 0cm 0pt"><FONT size=2><SPAN style="mso-spacerun: yes"> Set SSet = ThisDrawing.SelectionSets.Add("Example")</FONT></SPAN>
在后面需要删除选择集的地方使用SSet.Delete即可。 十分感谢,看出和您的差距之大了
文字请问您的精彩实例教程在那里登的
我怎么找不到,我希望能把你的教程都学习一下 关于选择集的使用在论坛里有很多,下面是最简单的创建选择集的方法:Function CreatSSet(Optional SSetName As String = "mjtd") As AcadSelectionSet
On Error Resume Next
ThisDrawing.SelectionSets(SSetName).Delete
Set CreatSSet = ThisDrawing.SelectionSets.Add(SSetName)
End Function 发现了个更大的问题!!!
我把我写的程序用二位高人的方法改良后,如果放到宏中在CAD2004窗口下ALT+F8后运行
宏怎么都好使,但是放到工程中还是无法解决问题,还是无法连续使用!
这到底是什么原因?高人指点!宏不过是个公用子程序,为什么在宏里可以连续运行但是到了
工程里就不行了?
页:
[1]
2