cad vba 块操作 5

我写了个vba,主要是用于批量打印图纸,但是一张图纸上可能有几个版本的图,每次打印都要求打印最新版本的图,每个图的标题栏为一个块,里面有版本号,我是用检查版本号的大小来确... 我写了个vba,主要是用于批量打印图纸,但是一张图纸上可能有几个版本的图,每次打印都要求打印最新版本的图,每个图的标题栏为一个块,里面有版本号,我是用检查版本号的大小来确定打那张图,用如下代码:
For Each ent In ssetobj
If ent.ObjectName = "AcDbBlockReference" Then
If ent.Name = "xf_note_c" Then
Attributes = ent.GetAttributes
Dim j As Integer
For j = LBound(Attributes) To UBound(Attributes)
If Attributes(j).TagString = "BB" Then
bb = Attributes(j).TextString
If CInt(bb) > maxedition Then
maxedition = CInt(bb)
End If
End If
但是这几天发现有些块没有在AcDbBlockReference类里面,导致批量打印时有部分图纸没有打出来,希望高手解决!!!
展开
 我来答
快乐小朱家
2011-09-13 · TA获得超过1013个赞
知道小有建树答主
回答量:649
采纳率:40%
帮助的人:379万
展开全部
没在AcDbBlockReference类里面?
For Each ent In ssetobj
msgbox ent.objectName
If ent.ObjectName = "AcDbBlockReference" Then

运行选取有问题的图块,记录显示的名称
再改 If ent.ObjectName = "AcDbBlockReference" Then
为If ent.ObjectName = "AcDbBlockReference" or ent.ObjectName = "你看到的" Then
linlq986
2013-05-16 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:234
采纳率:0%
帮助的人:87.4万
展开全部
If ent.Name = "xf_note_c" Then
改为
If ent.Name = "xf_note_c" or eNt.EffectiveName = "xf_note_c" Then
试试

我也遇到这个问题,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式