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类里面,导致批量打印时有部分图纸没有打出来,希望高手解决!!! 展开
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类里面,导致批量打印时有部分图纸没有打出来,希望高手解决!!! 展开
2个回答
展开全部
没在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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询