Private Sub Main() Dim oInvApp As Inventor.Application = ThisApplication Dim oContentCenter As ContentCenter oContentCenter = oInvApp.ContentCenter Families = New List(Of Family) ReadContentCenter (oContentCenter.TreeViewTopNode) ListToExcel() End Sub Private Families As List(Of Family) Private Class FamilyMember Public Property FileName Public Property PartNumber Public Property Material Public Property D Public Property ThreadFamily Public Property Vendor Public Property StockNumber Public Property Description End Class Private Class Family Public Property Name Public Property Members As List(Of FamilyMember) Public Sub New() Members = New List(Of FamilyMember) End Sub End Class Private Sub ReadContentCenter(ByVal Node As ContentTreeViewNode) For Each oNode As ContentTreeViewNode In Node.ChildNodes If oNode.Families.Count > 0 Then For Each oFamily As ContentFamily In oNode.Families Dim Family As New Family Family.Name = oFamily.DisplayName Dim oColumnNumber(4) As Integer oColumnNumber = GetColumnNumbers(oFamily) For Each oMember As ContentTableRow In oFamily.TableRows Dim FamilyMember As New FamilyMember Try FamilyMember.FileName = oMember.GetCellValue(oColumnNumber(0)) Catch ex As Exception FamilyMember.FileName = "#N/A" End Try Try FamilyMember.PartNumber = oMember.GetCellValue(oColumnNumber(1)) Catch ex As Exception FamilyMember.PartNumber = "#N/A" End Try Try FamilyMember.Material = oMember.GetCellValue(oColumnNumber(2)) Catch ex As Exception FamilyMember.Material = "#N/A" End Try Try FamilyMember.D = oMember.GetCellValue(oColumnNumber(3)) Catch ex As Exception FamilyMember.D = "#N/A" End Try Try FamilyMember.ThreadFamily = oMember.GetCellValue(oColumnNumber(4)) Catch ex As Exception FamilyMember.ThreadFamily = "#N/A" End Try Try FamilyMember.Vendor = oMember.GetCellValue(oColumnNumber(5)) Catch ex As Exception FamilyMember.Vendor = "#N/A" End Try Try FamilyMember.StockNumber = oMember.GetCellValue(oColumnNumber(6)) Catch ex As Exception FamilyMember.StockNumber = "#N/A" End Try Try FamilyMember.Description = oMember.GetCellValue(oColumnNumber(7)) Catch ex As Exception FamilyMember.Description = "#N/A" End Try Family.Members.Add (FamilyMember) Next Families.Add (Family) Next End If If oNode.ChildNodes.Count > 0 Then ReadContentCenter (oNode) End If Next End Sub Private Function GetColumnNumbers(ByVal oFamily As ContentFamily) As Integer() Dim oColumnNumbers(7) As Integer Dim oFlag(7) As Boolean oFlag(0) = False oFlag(1) = False oFlag(2) = False oFlag(3) = False oFlag(4) = False oFlag(5) = False oFlag(6) = False oFlag(7) = False For i As Integer = 1 To oFamily.TableColumns.Count If oFamily.TableColumns.Item(i).InternalName = "FILENAME" Then oColumnNumbers(0) = i oFlag(0) = True ElseIf oFamily.TableColumns.Item(i).InternalName = "PARTNUMBER" Then oColumnNumbers(1) = i oFlag(1) = True ElseIf oFamily.TableColumns.Item(i).InternalName = "MATERIAL" Then oColumnNumbers(2) = i oFlag(2) = True ElseIf oFamily.TableColumns.Item(i).InternalName = "D" Then oColumnNumbers(3) = i oFlag(3) = True ElseIf oFamily.TableColumns.Item(i).InternalName = "Thread1_Family" Then oColumnNumbers(4) = i oFlag(4) = True ElseIf oFamily.TableColumns.Item(i).InternalName = "Vendor" Then oColumnNumbers(5) = i oFlag(5) = True ElseIf oFamily.TableColumns.Item(i).InternalName = "Stock_Number" Then oColumnNumbers(6) = i oFlag(6) = True ElseIf oFamily.TableColumns.Item(i).InternalName = "Description" Then oColumnNumbers(7) = i oFlag(7) = True End If If oFlag(0) And oFlag(1) And oFlag(2) And oFlag(3) And oFlag(4) And oFlag(5)And oFlag(6)And oFlag(7) Then Exit For End If Next GetColumnNumbers = oColumnNumbers End Function Private Sub ListToExcel() Dim oExcel As Object = CreateObject("Excel.Application") oExcel.Visible = True Dim oWorkbook As Object oWorkbook = oExcel.Workbooks.Add() Dim oSheet As Object oSheet = oWorkbook.Sheets.Item(1) 'ADDING THE NAME FOR COLUMN oSheet.Range("A1").Value = "Family Name" oSheet.Range("B1").Value = "File Name" oSheet.Range("C1").Value = "Part Number" oSheet.Range("D1").Value = "Material" oSheet.Range("E1").Value = "D" oSheet.Range("F1").Value = "Thread Family" oSheet.Range("G1").Value = "Vendor" oSheet.Range("H1").Value = "Stock Number" oSheet.Range("I1").Value = "Description" Dim oCount As Integer = 2 For Each Family In Families For Each FamilyMember In Family.Members oSheet.Range("A" & oCount).Value = Family.Name oSheet.Range("B" & oCount).Value = FamilyMember.FileName oSheet.Range("C" & oCount).Value = FamilyMember.PartNumber oSheet.Range("D" & oCount).Value = FamilyMember.Material oSheet.Range("E" & oCount).Value = FamilyMember.D oSheet.Range("F" & oCount).Value = FamilyMember.ThreadFamily oSheet.Range("G" & oCount).Value = FamilyMember.Vendor oSheet.Range("H" & oCount).Value = FamilyMember.StockNumber oSheet.Range("I" & oCount).Value = FamilyMember.Description oCount = oCount + 1 Next Next oExcel = Nothing End Sub