小弟编写了一个VBA程序,用来连接VB和MDT,现在遇到一点问题,就是我那个在MDT里建立的零件模型已经设置好参数变量了,我设置的是全局变量,现在要用VBA程序将我创建的EXCEL电子表格和MDT零件模型连接,以驱动模型,但是在程序运行的时候总是抱错,EXCEL电子表格总是无法连接,明天就要交了,今天还是做不出来呀,有高手帮忙吗???救命哦!!
我的源程序如下:
'插入零部件 Sub InsertComp() '定义 MDT 主变量 Dim dd As New HIWIN.Class1 (HIWIN为我编写的VB程序编译成的DLL文件) Dim snn As String dd.Main snn = dd.Name
Dim mapp As McadApplication Set mapp = ThisDrawing.Application.GetInterfaceObject("mcad.application")
'定义位置 Dim Ge As New GeApplication '引入位置对象 Dim Pos As GeMatrix '控制不见位置 Dim UserPoint As Variant '用户插入位置 Dim Ver As GeVector '部件位置转换向量
Set Pos = Ge.Matrix UserPoint = ThisDrawing.Utility.GetPoint(, "选择插入点:") Set Ver = Ge.Vector(UserPoint(0), UserPoint(1), UserPoint(2)) Pos.SetToTranslation Ver
'引入外部文件 Dim CompDef As McadComponentDefinition Set CompDef = mapp.ActiveDocument.AssemblyMgr.AddCompDefFromFile("c:\temp\00.dwg")
'提取根目录文件 Dim Target As McadComponentDefinition Set Target = mapp.ActiveDocument.AssemblyMgr.ActiveDefinition
'将文件添加到根目录中 Target.AddComponent CompDef, Pos
'内部化外部零件为内部零件 CompDef.Localize
'取出刚插入的零件 Dim Comp As McadComponent Set Comp = Target.Children(Target.Children.Count - 1)
'取出该部件的零件 Dim part1 As McadPart Set part1 = Comp.Children(0).Definition.Body
'更新表连接 part1.UpdateLink (每次都是这里抱错!!!) '更新指定版本 part1.LinkedFile.VersionedObject.ActiveVersion = "一般"
(这语句中打完"."之后没有出现可以选择"ActiveVersion"的复选框) '更新零件 part1.Update
End Sub |