Makro aktywacji konfiguracji

Witam

Z góry przepraszam za zrobienie duplikatu, ale nie mogę znaleźć miejsca na stronie, z którego pobrałem to makro: Do aktywacji konfiguracji:


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

Są też linijki kodu, których nie do końca rozumiem: 

- W kodzie jest użyta zmienna "vConfigNameArr", ale nie rozumiem, ponieważ nie jest zadeklarowana.
- Nie rozumiem tych dwóch instrukcji:     Dim sSpecConfigNameArr(0)       As String
                                                                                             Dim vSpecConfigNameArr          jako wariant
Ponadto zmienne te nie są używane.
- Wreszcie, nie rozumiem: swModel.ForceRebuild3 Fałsz? Dlaczego FAŁSZ proszę?

Zaznaczam, że jestem w budowie makro więc nie mogłem testować , czy to działa od podstawy.

Dziękuję

Rzeczywiście, vConfigNameArr nie jest offsetem, ale vSpecConfigNameArr. Myślę, że to błąd.

Te dwie zmienne były praktycznie bezużyteczne.

Myślę, że powinieneś częściej korzystać z pomocy online, która jest kopalnią złota dla każdego programowania. Oto Twoja odpowiedź na ForceRebuild3 :

Parametry

"Tylko na górze

Wartość Prawda powoduje odbudowanie tylko zespołu najwyższego poziomu; false powoduje odbudowanie zespołu najwyższego poziomu i wszystkich podzespołów"

Jaki jest cel makroekonomii? Sprawdź, czy istnieje konfiguracja o nazwie XX, a jeśli tak, to ją aktywować? 

Dziękuję za odpowiedzi remrem ! Zauważyłem już, że pomoc była bardzo przydatna, ale to makro pochodzące od kogoś na forum pomyślałem, że równie dobrze mogę zapytać bezpośrednio tutaj.

 Pierwotnie nie wiem jaki był tego cel, ale w moim przypadku mam konfiguracje dla 3D i dla moich rysunków, ale zauważyłem, że w niektórych przypadkach, aby rysunek nie powodował problemów z aktualizacją, trzeba było go po prostu aktywować i wymusić rekonstrukcję.