Aktivieren Sie die Option PROMOTE via Makro

Um der Frage nachzugehen: http://www.lynkoa.com/forum/3d/famille-de-piece-promouvoir

Ich beherrsche MAKROS nicht, jemand könnte mich zu einem Makro machen, um die Option Promote in allen Konfigurationen eines Raums zu aktivieren.

Vielen Dank im Voraus.


2015-02-06-famille_de_piece_-_promouvoir.jpg

Hallo

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

 

2 „Gefällt mir“

A priori gibt es einen Fehler (siehe angehängte Datei)


2015-02-06-macro_-_promouvoir.jpg

Es können nicht 2 Hände im selben Programm sein und es gab einen Autokorrekturfehler mit Apostrophen.

 

Der Code sollte wie auf dem PDF dieses Tutorials aussehen, das ich gerade online gestellt habe:

http://www.lynkoa.com/tutos/solidworks/macro-pour-toutes-les-configurations-d-un-assemblage-pour-activer-l-option-%E2%80%9Cpromouv

 

Und ich habe den Code oben aktualisiert, es sollte funktionieren.

 

Ich habe das korrigierte Makro ausgeführt, aber es gibt mir eine neue Fehlermeldung

(siehe Anhang).

 


2015-02-09-erreur_macro_promouvoir.png

Ich versuche, das Makro heute Abend zu testen.

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
      
    Weiter i
Ende Sub


ficap_macro_promouvoir.swp

Der Makro-Anhang funktioniert.


ficap_macro_promouvoir.swp