' ******************************************************************************
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Sub main()
Set swApp = _
Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("XXXXX_630S_dechargement_de_650_tendeur_standard-1@xxxxx/63_ensemble_tendeur_palier_(01)-3@XXXXX_630S_dechargement_de_650_tendeur_standard", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.CompConfigProperties4(2, 0, True, True, "Sans moteur", False, False)
Part.ClearSelection2 True
boolstatus = Part.EditRebuild3()
End Sub
Problem polega na tym, że po ponownym uruchomieniu tego makra nie działa, pojawia się błąd
"Błąd wykonania '450'"
Nieprawidłowa liczba argumentów lub nieprawidłowe przypisanie właściwości
Tak, to dziwne, kiedy to robię, rejestrator makr Solidworks wychodzi prawie takie samo makro jak ty, ale po wpisaniu "CompConfigProperties5", a nie "CompConfigProperties4", a potem działa, ponieważ "CompConfigProperties5" ma jeszcze jeden argument.
I normalnie, od wersji oprogramowania 2019, czystsze byłoby wzięcie funkcji "CompConfigProperties6", która ma jeszcze jeden argument...
FYI, funkcja "CompConfigProperties5" pojawiła się od wersji 2017, byłoby interesujące poznać ewolucje, które śledziłeś w kolejnych instalacjach Solidworks i czy za każdym razem ponownie instalujesz opcję VSTA...
Tak, to normalne, że oferuje funkcję "CompConfigProperties4", ale dziwne jest, że nagle umieszcza w niej o jeden argument za dużo!!
Oznacza to, że jest to punkt, w którym należy sprawdzić, czy makra wychodzą z rejestratora, ale jak powiedział remrem: "W większości przypadków, nawet proste, nagrywanie makr nie wystarczy.", to jest tylko pomoc w uruchamianiu makr.