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ę