Code:
'2021-01-22 Stückliste in Excel ablegen von TE
'Basiscode von https://inventorfaq.blogspot.com/2017/04/inventor-automatisieren-programmieren_24.html
'hinzgefügt einlesen der StücklistenanpassungPublic Sub BOMExport()
'Var. für den Exportpfad definieren
Dim Path As String
Path = Environ("TEMP")
'Baugruppeobjekt
Dim oDoc As AssemblyDocument
Set oDoc = ThisApplication.ActiveEditDocument
'Displayname abzüglih letzte 4 Stellen (i.d.R. .iam) auslesen
Dim AsmName As String
AsmName = Left(oDoc.DisplayName, Len(oDoc.DisplayName) - 4)
'Zusammensetzden des Pfades & Dateiname aus den beiden Variablen
Dim Filename As String
Filename = Path & "\" & AsmName
'Bauerntrick: Bei Fehler mit dem nächsten Schritt weitermachen
'd.h. wenn Mkdir einen Fehler verursacht (weil das Verzeichnis schon existiert)
'geht es einfach weiter. So spart man sich die Prüfung ob das Verz. existiert vor der Erstellung
On Error Resume Next
MkDir Path
'On Error Resume Mext wieder auschalten
On Error GoTo 0
'Vereis auf das Stücklistenobjekt in der Baugruppe
Dim oBOM As BOM
Set oBOM = oDoc.ComponentDefinition.BOM
' In der Stcklilstenansicht Strukturiert auf Alle Ebenen umschalten
oBOM.StructuredViewFirstLevelOnly = False
' Strukturierte Ansicht aktivieren sonst kann sie nicht exportiert werden
oBOM.StructuredViewEnabled = True
'Stücklistenansichtobjekt erstellen und auf das Item Namens "Struktiriert" setzen
Dim oStructuredBOMView As BOMView
Set oStructuredBOMView = oBOM.BOMViews.Item("Strukturiert")
'---
'TE neu Anfang
'oBOM.StructuredViewEnabled = False
'oBOM.StructuredViewFirstLevelOnly = False
oBOM.ImportBOMCustomization ("E:\Desktop\Test inventor\Anpassen.xml")
'TE neu Ende
'---
'Export der Stücklistenansicht unter dem Filename plus Zusatz Stückluste Strukturiert
oStructuredBOMView.Export "F:\Stückliste Strukturiert.xlsx", kMicrosoftExcelFormat
'Ansicht nur Bauteile aktivieren
''oBOM.PartsOnlyViewEnabled = True
'Verweis auf das Objekt BOMView "nur Bauteile"
''Dim oPartsOnlyBOMView As BOMView
''Set oPartsOnlyBOMView = oBOM.BOMViews.Item("nur Bauteile")
'Export der Stücklistenansicht unter dem Filename plus Zusatz Stückluste Strukturiert
''oPartsOnlyBOMView.Export Filename & " Stückliste Nur Bauteile.xls", kMicrosoftExcelFormat
MsgBox (Filename)
End Sub