yosso 发表于 2015-12-9 07:53:29

自动化错误-灾难性错误-VBA Excel 2015年在ACAD创建新块

**** Hidden Message *****

57gmc 发表于 2015-12-9 10:37:30

我不知道acadtbl设置在哪里。

yosso 发表于 2015-12-9 14:02:15

blkdef 的状态是什么?我也看不出这是在哪里设置的。

57gmc 发表于 2015-12-9 17:50:34

CopyObjects方法只有两个参数,所以问题一定是其中一个。您可能不会得到错误,但是blkDef仍然可能为null。所以我才问它是什么状态。在CopyObjects行上设置一个断点,并查看blkdef是已设置还是为null。此外,如果您在sub中的某个地方使用了On Error Resume Next,则可能不会出现错误。

yosso 发表于 2015-12-10 06:23:01


只是一个玩笑。

57gmc 发表于 2015-12-10 10:34:02


只是一个玩笑

感谢您的反馈,但我不认为我没有迭代任何集合,是吗?
M.

yosso 发表于 2015-12-10 11:19:05


只是一个玩笑
感谢您的反馈,但我不认为我没有迭代任何集合,是吗?
M
在您调用该方法时没有
如果您上传了电子表格和带有重现问题步骤的示例dwg,可能会有人对其进行故障排除。这里没有多少信息
Dim blkDef As AcadBlock, _
    blkRef As AcadBlockReference, _
    tempBlkName As String, _
    origTblHndl As String, _
    objColl(0) As Object, _
    retObj As Object
   
tempBlkName = "archive-Table" & Format(Now(), "hms")
' Set tempEntity = ListTable
origTblHndl = ListTable.Handle
Set objColl(0) = adoc.HandleToObject(origTblHndl)
Set blkDef = adoc.Blocks.Add(tablept, tempBlkName)
' Copy old table to block
adoc.CopyObjects objColl, blkDef

公开收藏是objColl。一旦objColl变暗为objColl(0),一切都正常

Cathy 发表于 2015-12-10 17:23:37

问题解决了,多亏了凯西的幽默
将数组大小设置为0,一切正常<再次感谢。
页: [1]
查看完整版本: 自动化错误-灾难性错误-VBA Excel 2015年在ACAD创建新块