Ich mache einen Makrospeicher, den ich an Sie anhänge
' ******************************************************************************
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
Das Problem ist, dass ich beim Neustart dieses Makros keine Funktion erhalte und eine Fehlermeldung erhalte
"Ausführungsfehler '450'"
Ungültige Anzahl von Argumenten oder falsche Zuweisung von Eigenschaften
Ja, es ist seltsam, wenn ich das mache, kommt der Solidworks Makrorecorder fast das gleiche Makro aus wie Sie, aber indem Sie "CompConfigProperties5" und nicht "CompConfigProperties4" eingeben, funktioniert es dann, da "CompConfigProperties5" ein weiteres Argument hat.
Und normalerweise wäre es ab der Version 2019 von SW sauberer, die Funktion "CompConfigProperties6" zu nehmen, die noch ein weiteres Argument hat...
Zu Ihrer Information, die Funktion "CompConfigProperties5" ist ab der Version 2017 erschienen, es wäre interessant zu wissen, welche Entwicklungen Sie in den aufeinanderfolgenden Installationen von Solidworks verfolgt haben und ob Sie die VSTA-Option jedes Mal neu installieren...
Ja, es ist normal, dass es Ihnen die Funktion "CompConfigProperties4" anbietet, aber es ist seltsam, dass es plötzlich ein Argument zu viel einfügt!!
Das bedeutet, dass dies ein Punkt ist, an dem Makros überprüft werden müssen, die aus dem Rekorder kommen, aber wie remrem sagte: "In den meisten Fällen, selbst eine einfache Makroaufzeichnung, reicht nicht aus.", dies ist nur eine Hilfe, um Makros zu starten.