插入块时提示类无效就终止了。求教代码哪里有问题。
Sub demo()Dim varpt As Variant'插入点
Dim br As AcadBlockReference '定义插入块返回对象
varpt = ThisDrawing.Utility.GetPoint'选择输出的位置
Dim num1 As Integer'循环次数定义
num1 = ThisDrawing.Blocks.Count - 1 '循环次数赋值有几个块,就循环几次
Dim i As Integer'循环
Dim name1 As String ' 块名储存
For i = 4 To num1'进入循环
name1 = ThisDrawing.Blocks.Item(i).Name '块名赋值
Set br = ThisDrawing.ModelSpace.InsertBlock(varpt, name1, 1, 1, 1, 0) '在指定位置插入块
varpt(1) = varpt(1) - 10'插入点y值向下移动10个单位继续插入
Next i
End Sub
新的错误提示是,bstrname 在insertblock中无效。。。完全看不懂什么意思。。。毕竟我是入门级菜鸟 on error resume next,我加入了这句话,忽视了错误项目,但是可以看出,少了很多块。 估计是无名块的问题。 你这个是VBA吧?什么版本的CAD?
你的意思是有些成功了?不妨在一个空白图纸定义一两个图块试试,若没有问题的话,估计是网友所说的匿名图块问题,可以试试不要插入*开头名字的图块名。 sieben 发表于 2022-9-2 17:46
你这个是VBA吧?什么版本的CAD?
你的意思是有些成功了?不妨在一个空白图纸定义一两个图块试试,若没有问 ...
为了避免你说的匿名块问题,我写了段代码,如果名字里面带*,就把序列值赋值给它当名字。然而,还是有一些块,看不到。后来,我发现是因为没有设置基准点。都跑到别的地方去了。。。。 出门右转VBA Activex区
页:
[1]