Dim oApp As Inventor.Application = ThisApplication Dim oVBAProjs As InventorVBAProjects = oApp.VBAProjects 'oVBAProjs.Open("C:\Temp\MyVBAProject.ivb") Dim oMyProj As InventorVBAProject = Nothing For Each oProj As InventorVBAProject In oVBAProjs If oProj.Name = "MyVBAProject" And _ oProj.ProjectType = VBAProjectTypeEnum.kUserVBAProject Then 'oProj.ProjectType = VBAProjectTypeEnum.kApplicationVBAProject Then oMyProj = oProj Exit For End If Next If IsNothing(oMyProj) Then Exit Sub Dim oComps As InventorVBAComponents = oMyProj.InventorVBAComponents 'Modules If oComps.Count = 0 Then Exit Sub For Each oComp As InventorVBAComponent In oComps Dim oMembers As InventorVBAMembers = oComp.InventorVBAMembers 'Subs/Functions If oMembers.Count = 0 Then Continue For 'skip to next oComp For Each oMember As InventorVBAMember In oMembers Dim oArgs As InventorVBAArguments = oMember.Arguments 'input variables/parameters If oArgs.Count = 0 Then Continue For 'skip to next oMember For Each oArg As InventorVBAArgument In oArgs If oArg.Name = "ComponentName" And oArg.ArgumentType = "String" Then 'oArg.Value = "Part1:1" End If Next Dim oReturned As Object = Nothing If oMember.MemberType = MemberTypeEnum.kFunctionMember Then 'oMember.Execute(oReturned) End If 'do something with the oReturned value/object Next Next