本帖最后由 作者 于 2009-5-21 10:20:00 编辑
如题 Set doc = ThisDrawing.Application.Documents("Drawing1.dwg") 这句如果在VB中怎么表示,好像在VB中应改成 Set doc = Acadapp.Application.Documents("Drawing1.dwg") 但是会出错,希望大家不遗余力帮我解决一个困扰多时的难题 查了很多资料,并且尝试解决了好几天仍不得解 故来论坛上请高手指点一二,谢谢!! 自定义函数 函数是修改mccad大大的,可是在VB中运行就不行!提示:实时错误,对象item 的方法‘ IAcadDocuments'失败 Set objCurDoc = acadapp.Application.Documents.Item(App.Path & "\Gallery\" & CurDocname & ".dwg")的下面一句 Set objCurDoc = acadapp.Application.Documents.Open(App.Path & "\Gallery\" & CurDocname & ".dwg") 到是可以,但我不需要那样的功能,我需要获得打开的CAD文档。 '复制到一张图纸上 Public Sub CopyFromOuterDwg(CurDocname, NewDocname As String) ' 第一张图 Dim objCurDoc As AcadDocument Set objCurDoc = acadapp.Application.Documents.Item(App.Path & "\Gallery\" & CurDocname & ".dwg") 'Set objCurDoc = acadapp.Application.Documents.Open(App.Path & "\Gallery\" & CurDocname & ".dwg") ' 新图形 Dim objNewDoc As AcadDocument Set objCurDoc = acadapp.Application.Documents.Item(App.Path & "\Gallery\" & NewDocname & ".dwg") 'Set objNewDoc = acadapp.Application.Documents.Open(App.Path & "\Gallery\" & NewDocname & ".dwg") objNewDoc.Activate 'Set objNewDoc = acadapp.Application.ActiveDocument ' 将外部图形的实体复制到当前图形 Set ssetobj = CreateSelectionSet ssetobj.Select acSelectionSetAll 'ssetObj.SelectOnScreen acadapp.ActiveDocument.CopyObjects ssArray(ssetobj), objCurDoc.ModelSpace objCurDoc.Regen acAllViewports ' 关闭打开的图形 objNewDoc.Close End Sub |