我提交了一个我已经发布的帖子https://forums.autodesk.com/t5/visual-basic-customization/setblocktablerecordid-issue/td-p/9157637到目前为止,没有任何解决方案。
我在Excel for Office 365 32位VBA应用程序版本7.1中编写代码,并在W10笔记本电脑中使用。
- myTable.SetBlockTableRecordId j + 1, 0, myDoc.Blocks("blockName").ObjectID, True
然而,如果我在AutoCAD 2018 VBA 7.1环境中编写代码,我会得到一个编译错误,将“编译器错误:不对应类型”作为(hoepfully)最接近的翻译
相同的语句不会出错
我知道(或者至少我认为)这与32/64位有关,并盲目地尝试了这两种方法
- myTable.SetBlockTableRecordId j + 1, 0, myDoc.Blocks("blockName").ObjectID32 , True
- myTable.SetBlockTableRecordId j + 1, 0, CLngPtr(myDoc.Blocks("blockName").ObjectID)
,但无济于事
可能会感兴趣的是:
-没有“CLngPtr”,编译错误将突出显示语句的“.ObjectID”部分
-使用“CLngPtr”,编译错误将高亮显示“.CLngPtr”部分
我认为我的Excel 32位永远不会处理对需要一些64位参数的方法(SetBlockTableRecordId)的调用
有人知道解决方案吗
谢谢
本帖以下内容被隐藏保护;需要你回复后,才能看到! 游客,如果您要查看本帖隐藏内容请 回复 |