Hi,
For VBA:
Public Sub main()
Dim a As Application
Set a = ThisApplication
Dim b As AssemblyDocument
Set b = a.ActiveDocument
loopass (b)
End Sub
Public Sub loopass(b As AssemblyDocument)
Dim o As ComponentOccurrence
Dim doc As Document
Dim c As PartDocument
Dim File_Name As String
Dim FileName As String
For Each o In b.ComponentDefinition.Occurrences
MsgBox o.Name
doc = o.Definition.Document
File_Name = doc.PropertySets.Item(3).Item("Part Number").Value
If doc.DocumentType = kPartDocumentObject Then
On Error Resume Next
doc.PropertySets.Item(4).Add Split(File_Name, ".")(0), "File Name"
doc.PropertySets.Item(4).Item("File Name").Value = Split(File_Name, ".")(0)
ElseIf doc.DocumentType = kAssemblyDocumentObject Then
On Error Resume Next
doc.PropertySets.Item(4).Add Split(File_Name, ".")(0), "File Name"
doc.PropertySets.Item(4).Item("File Name").Value = Split(File_Name, ".")(0)
loopass (doc)
End If
o.Definition.Document
Next
End Sub
For i-logic:
Public Sub main()
Dim a As Application
a = ThisApplication
Dim b As AssemblyDocument
b = a.ActiveDocument
loopass (b)
End Sub
Public Sub loopass(b As AssemblyDocument)
Dim o As ComponentOccurrence
Dim doc As Document
Dim c As PartDocument
Dim File_Name As String
Dim FileName As String
For Each o In b.ComponentDefinition.Occurrences
MsgBox o.Name
doc = o.Definition.Document
File_Name = doc.PropertySets.Item(3).Item("Part Number").Value
If doc.DocumentType = kPartDocumentObject Then
try
doc.PropertySets.Item(4).Add (Split(File_Name, ".")(0), "File Name")
Catch exception
doc.PropertySets.Item(4).Item("File Name").Value = Split(File_Name, ".")(0)
end try
ElseIf doc.DocumentType = kAssemblyDocumentObject Then
try
doc.PropertySets.Item(4).Add (Split(File_Name, ".")(0), "File Name")
catch exception
doc.PropertySets.Item(4).Item("File Name").Value = Split(File_Name, ".")(0)
end try
loopass (doc)
End If
o.Definition.Document
Next
End Sub