Makro zur Aktivierung der Konfiguration

Hallo

Ich entschuldige mich im Voraus für das Duplikat, aber ich kann die Stelle auf der Website, an der ich dieses Makro heruntergeladen habe, nicht finden: Für die Aktivierung von Konfigurationen:


Sub main()

    Dim swApp                       As SldWorks.SldWorks
    Dim swModel                     As SldWorks.ModelDoc2
    Dim swConfigMgr                 As SldWorks.ConfigurationManager
    Dim swConfig                    As SldWorks.Configuration
    Dim vConfigName                 As Variant
    Dim sSpecConfigNameArr(0)       As String
    Dim vSpecConfigNameArr          As Variant
    Dim dimValue                    As Variant
    Dim stnameConfig As String
   
    Set swApp = Application.SldWorks
    'on récupére le document actif
    Set swModel = swApp.ActiveDoc
    
    Set swConfigMgr = swModel.ConfigurationManager
    'on récupére la configuration active
    Set swConfig = swConfigMgr.ActiveConfiguration
    'on récupére de nom de la configation active
    stnameConfig = swConfig.Name
    'on récupére le nom de toutes les configurations
    vConfigNameArr = swModel.GetConfigurationNames
    'on boucle
    For Each vConfigName In vConfigNameArr
        'on affiche la configuration
        swModel.ShowConfiguration2 vConfigName
         'on force la reconstruction
        swModel.ForceRebuild3 False
       
    Next vConfigName
        
    'on affiche la configuration active avant le traitement
    swModel.ShowConfiguration2 stnameConfig
    'on force la reconstruction
    swModel.ForceRebuild3 False
    'on sauvegarde le document
    swModel.Save3 swSaveAsOptions_e.swSaveAsOptions_Silent, 0, 0
    
End Sub

Und es gibt Codezeilen, die ich nicht ganz verstehe: 

- Im Code wird eine Variable "vConfigNameArr" verwendet, aber ich verstehe sie nicht, weil sie nicht deklariert ist.
- Ich verstehe diese beiden Aussagen nicht:     Dim sSpecConfigNameArr(0)       As String
                                                                                             Dim vSpecConfigNameArr          als Variante
Außerdem werden diese Variablen nicht verwendet.
- Schließlich verstehe ich nicht: swModel.ForceRebuild3 Falsch? Warum bitte FALSCH?

Ich gebe an, dass ich mich in der Makrokonstruktion befinde, daher konnte ich nicht testen , ob es von der Basis aus funktioniert .

Vielen Dank

Tatsächlich ist vConfigNameArr nicht versetzt, sondern vSpecConfigNameArr. Ich halte das für einen Fehler.

Die beiden Variablen waren praktisch nutzlos.

Ich denke, Sie sollten die Online-Hilfe mehr nutzen, die eine Goldgrube für jede Programmierung ist. Hier ist Ihre Antwort für den ForceRebuild3 :

Parameter

"TopOnly

True erstellt nur die Assembly auf oberster Ebene neu. false erstellt die Baugruppe der obersten Ebene und alle Unterbaugruppen neu."

Das Ziel der Makroökonomie? Prüfen Sie, ob eine Konfiguration mit dem Namen XX existiert und wenn ja, aktivieren Sie sie? 

Vielen Dank für Ihre Antworten , remrem ! Ich habe bereits bemerkt , dass die Hilfe sehr, sehr nützlich war, aber dieses Makro, das von jemandem im Forum kommt, dachte ich, ich könnte genauso gut direkt hier fragen.

 Ursprünglich weiß ich nicht, was der Zweck war, aber in meinem Fall habe ich Konfigurationen für 3D und für meine Zeichnungen, aber mir ist aufgefallen, dass man in einigen Fällen, damit die Zeichnung keine Aktualisierungsprobleme verursacht, sie nur aktivieren und die Rekonstruktion erzwingen musste.