乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 174|回复: 9

VBA 炸开块出错

[复制链接]

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2015-4-17 17:18:00 | 显示全部楼层 |阅读模式
写了一段VBA 代码,在炸开某些块的时候总是出错,是怎么回事
Private Sub LT_XBlock_Click()
  Me.Hide
  ThisDrawing.Activate
  Dim filtertype(0) As Integer
  Dim filterdata(0) As Variant
  Dim explodedObjects As Variant
  filtertype(0) = 0
  filterdata(0) = "INSERT"
  Set sset = ThisDrawing.SelectionSets.Add("SSETS" & CStr(Now()))
  sset.SelectOnScreen filtertype, filterdata
  If sset.Count

出错图纸

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2015-4-17 22:24:00 | 显示全部楼层
我测试一下你的图,没有发现问题呀,用你的代码也没问题、
只是,有几个变量没定义,是全局变量吗?
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2015-4-17 22:32:00 | 显示全部楼层
出错时,最好给出哪行出错,并且,给出出错的代码和内容描述,这样好让大家帮你
回复

使用道具 举报

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2015-4-27 13:54:00 | 显示全部楼层

程序弹出:
运行时错误 '-2145386493
输入无效
回复

使用道具 举报

8

主题

24

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
56
发表于 2015-4-29 11:05:00 | 显示全部楼层
You do not have to explode a block in order to manipulate its constituent entities. All block definitions have an Item method that allow you to manipulate the entities within the block without exploding the block definition itself.
块好像不能分解。
http://www.feizhimeng.com
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2015-4-29 14:57:00 | 显示全部楼层
他炸的不是块吧,是块引用
回复

使用道具 举报

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2015-5-6 11:53:00 | 显示全部楼层

谢谢,我再研究一下
回复

使用道具 举报

23

主题

561

帖子

13

银币

中流砥柱

Rank: 25

铜币
653
发表于 2015-5-6 18:13:00 | 显示全部楼层
  1. Private Sub LT_XBlock_Click()
  2.   Me.Hide
  3.   ThisDrawing.Activate
  4.   Dim filtertype(0) As Integer
  5.   Dim filterdata(0) As Variant
  6.   Dim explodedObjects As Variant
  7.   Dim sset As AcadSelectionSet, filterent As AcadBlockReference
  8.   filtertype(0) = 0
  9.   filterdata(0) = "INSERT"
  10.   Set sset = ThisDrawing.SelectionSets.Add("SSETS" & CStr(Now()))
  11.   sset.SelectOnScreen filtertype, filterdata
  12.   If sset.Count < 1 Then
  13.     MsgBox "选取对象为空"
  14.     Exit Sub
  15.   End If
  16.   For Each filterent In sset
  17.     filterent.Explode
  18.     filterent.Delete
  19.   Next
  20. End Sub

你的图,你的代码,没问题,只是少变量定义,我在1楼就说过
回复

使用道具 举报

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2015-6-4 15:55:00 | 显示全部楼层

您好,这段话的意思是:“你不需要为了调整一个块的组成实体而炸开它,所有的块定义都有一则方法允许你块内调整实体,而不用炸开块参照自身”吗?
回复

使用道具 举报

2

主题

9

帖子

1

银币

初来乍到

Rank: 1

铜币
17
发表于 2015-6-4 16:21:00 | 显示全部楼层

你好,谢谢你的回答,我现在发现出问题在于这个块的 XYZ插入比例不一样时出错,如果忽略错误,炸开块就没东西了
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-29 04:04 , Processed in 2.611925 second(s), 78 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表