- 积分
- 1627
- 明经币
- 个
- 注册时间
- 2003-4-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 作者 于 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的对象模型还不一样,不都是一个库么
'这是什么世道啊, |
|