Beim erneuten Lesen der beiden Codeteile, die ich in der vorherigen Frage gepostet habe, ist es einfacher als ich dachte, aber ich hatte keine Zeit zum Testen.
Zum Einfügen eines neuen Makros in SolidWorks aus dem Menü " Makro > Neue Werkzeuge > Extras ".
'Bearbeiten: Code-Bereinigung und Kommentare
Option Explizit Sub main() Dim swApp als SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim vConfNameArr als Variante Dim sConfigName als Zeichenfolge Sonne i So lang
Set swApp = CreateObject("SldWorks.Application") SolidWorks ermöglicht in VBA Festlegen von swModel = swApp.ActiveDoc "Ruft das aktive Dokument ab vConfNameArr = swModel.GetConfigurationNames 'Ruft alle Konfigurationen in einem Array ab Für i = 0 Bis UBound(vConfNameArr) Schleife über alle Konfigurationen sConfigName = vConfNameArr(i) sConfigName.ChildComponentDisplayInBOM = swChildComponentInBOMOption_e.swChildComponent_Promote "Aktiviert die Promote-Funktion für jede der Konfigurationen Weiter i Ende Sub
Ich habe einen Kollegen, der sich mit Makros auskennt, hier ist, was er geschrieben hat.
Nach ein oder zwei Tests scheint es zu funktionieren.
Option Explizit Sub main() Dim swApp als SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swConfig als SldWorks.Configuration Dim vConfNameArr als Variante Dim sConfigName als Zeichenfolge Sonne i So lang
Legen Sie swApp = Application.SldWorks fest SolidWorks ermöglicht in VBA Festlegen von swModel = swApp.ActiveDoc "Ruft das aktive Dokument ab vConfNameArr = swModel.GetConfigurationNames 'Ruft alle Konfigurationen in einem Array ab Für i = 0 Bis UBound(vConfNameArr) Schleife über alle Konfigurationen Set swConfig = swModel.GetConfigurationByName(vConfNameArr(i)) 'sConfigName = vConfNameArr(i) swConfig.ChildComponentDisplayInBOM = swChildComponentInBOMOption_e.swChildComponent_Promote "Aktiviert die Promote-Funktion für jede der Konfigurationen