Language="VBSCRIPT"
Sub CATMain()
Dim productDocument1 As Document
Set productDocument1 = CATIA.ActiveDocument
Dim product1 As Product
Set product1 = productDocument1.Product
Dim assemblyConvertor1 As CATBaseDispatch
Set assemblyConvertor1 = product1.GetItem("BillOfMaterial")
Dim arrayOfVariantOfBSTR1(7) 'change number if you have more custom columns/array...
arrayOfVariantOfBSTR1(0) = "Quantity"
arrayOfVariantOfBSTR1(1) = "Part Number"
arrayOfVariantOfBSTR1(2) = "Type"
arrayOfVariantOfBSTR1(3) = "Nomenclature"
arrayOfVariantOfBSTR1(4) = "Revision"
arrayOfVariantOfBSTR1(5) = "Mass" 'in addition of what is by default
arrayOfVariantOfBSTR1(6) = "Density" 'in addition of what is by default
arrayOfVariantOfBSTR1(7) = "Material" 'in addition of what is by default
assemblyConvertor1.SetCurrentFormat arrayOfVariantOfBSTR1
Dim arrayOfVariantOfBSTR2(1) 'change number if you have more custom columns/array...
arrayOfVariantOfBSTR2(0) = "Quantity"
arrayOfVariantOfBSTR2(1) = "Part Number"
assemblyConvertor1.SetSecondaryFormat arrayOfVariantOfBSTR2
assemblyConvertor1.Print "TXT", "c:\temp\Custom_BOM.txt", product1
Set xlApp = CreateObject("Excel.Application")
Set MyXL = GetObject(, "Excel.Application")
If Err.Number <> 0 Then ExcelWasNotRunning = True
Err.Clear
Set MyXL = GetObject("C:\temp\Book1.xls")
MyXL.Application.Visible = True
MyXL.Parent.Windows(1).Visible = True
End Sub