idoo 发表于 2008-6-23 23:46:00

VBA插入块后,如何炸开??

我的代码如下:
Public Sub test()
PT1(0) = TX+ 15540 * Scal: PT1(1) = TY + 990 * Scal: PT1(2) = 0
Set InsBLK = ThisDrawing.ModelSpace.InsertBlock(PT1, "C:\Program Files\ys.dwg", Scal, Scal, Scal, 3.14159 * 0)
InsBLK.Layer = "TXT"
InsBLK.Explode
End Sub
可是输出的结果为一个为炸开的块上有一个已经炸开了的块,感觉是将同一块插入了两次(在同一个位置),并把其中一个炸开了。如果把倒数第二句去掉,则只插入了一个没有炸开的块。

byghbcx 发表于 2008-6-24 10:19:00

看看这样行不行,
Public Sub test()
PT1(0) = TX+ 15540 * Scal: PT1(1) = TY + 990 * Scal: PT1(2) = 0
Set InsBLK = ThisDrawing.ModelSpace.InsertBlock(PT1, "*C:\Program Files\ys.dwg", Scal, Scal, Scal, 3.14159 * 0)
InsBLK.Layer = "TXT"
End Sub

wylong 发表于 2008-6-24 12:52:00

Public Sub test()
PT1(0) = TX+ 15540 * Scal: PT1(1) = TY + 990 * Scal: PT1(2) = 0
Set InsBLK = ThisDrawing.ModelSpace.InsertBlock(PT1, "C:\Program Files\ys.dwg", Scal, Scal, Scal, 3.14159 * 0)
InsBLK.Layer = "TXT"
InsBLK.Explode
InsBLK.delete
End Sub

idoo 发表于 2008-6-25 20:22:00

谢谢两位,加用*后,无法插入块了,使用delete是可以的,不过这样的原因怎么讲呢??

rongyifei 发表于 2008-7-5 17:05:00

学习了!

wylong 发表于 2008-7-5 17:52:00

Public Sub test()
PT1(0) = TX+ 15540 * Scal: PT1(1) = TY + 990 * Scal: PT1(2) = 0
Set InsBLK = ThisDrawing.ModelSpace.InsertBlock(PT1, "C:\Program Files\ys.dwg", Scal, Scal, Scal, 3.14159)
InsBLK.Layer = "TXT"
InsBLK.Explode
InsBLK.delete
End Sub
页: [1]
查看完整版本: VBA插入块后,如何炸开??