奇怪,vba不行,但vb却一切正常,关于selectonscreen的问题(当然又有新问题啦)
本帖最后由 作者 于 2003-4-19 9:40:43 编辑今天早上我试着用vb谢了一下代码,一切正常,奇怪
但还有问题要问,见注释部分
Option Explicit
Public Sub main()
Dim objapp As Object
'问什么我用dim objapp as acadapplication后,在后面的getobject语句里
'就会出错,说什么类型不匹配,所以我只有将其定义为object,这样的话在
'编写程序时就没有了一些提示,不得不把一些属性和方法的全名输入正确
'何其痛苦,后面的sset赋值也是一样,如果dim sset as acadselectionsets
'用set赋值是也会出错,到底是dim as 后面的类型错了还是getobject用错了
'还有,如果我打开的不是r14而是cad2000,那么这段代码又通不过了,说activex
'不能创建对象,我引用的部件是"AutoCAD 2000 XXX",我看目录也是2000下的
'acad.tbl,主要就是这些问题了,要不是这些问题,我肯定用vb而不用vba,因为
'vba里有了thisdrawing了,版主我昨天1:30后才睡,见天7:30就来了,不要不回答
'啊,最好给我一个vb了小段代码好了,hehe,我太贪心了吧,那不好意思,鄙人就是这
'样子的
Set objapp = GetObject(, "autocad.application")
Dim sset As Object
Dim ss As Object
Set sset = objapp.ActiveDocument.SelectionSets
Dim i As Integer
If sset.Count > 0 Then
For i = 0 To sset.Count - 1
If UCase(sset.Item(i).Name) = "THANKS" Then
sset.Item(i).Clear
sset.Item(i).Delete
End If
Next i
End If
Set ss = sset.Add("thanks")
ss.SelectOnScreen
MsgBox ss.Count
ss.Clear
ss.Delete
End Sub
'难道vba的对象模型和vb的对象模型还不一样,不都是一个库么
'这是什么世道啊,
后面的代码是你在VB中的全部代码吗?若不是,请帖全部上来,我看能不能帮你分析一下
后面的代码是你在VB中的全部代码吗?若不是,请帖全部上来,我看能不能帮你分析一下~代码就是这样的
如果你要,给你了好的,我去调试下~
页:
[1]