Google+

Macro remplacer un composant Sujet résolu

Apprendre à programmer avec le VBA

Modérateurs: xavierb, annwn

Macro remplacer un composant

Messagepar Denki » Sam 21 Déc 2019 13:39

Bonjour,
Je début en programmation VBA
J'ai lu le tuto et j'ai essayer par moi même
Mais je ne parvient pas à remplacer un composant en macro
J'ai mon assemblage avec une pièce dedans donc l’arborescence ce présente comme ceci:

-Assemblage1
-Piece1<4>

Je voudrai parvenir, par le biais de macro, a remplacer ma Pièce par une autre.
J'ai donc enregistre une macro en automatique.
Mais le fait de remplacer une pièce incrémente un indicateur à coté de cette dernière(Piece1 indicateur<4>
Code: Tout sélectionner
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
Dim myModelView As Object
Set myModelView = Part.ActiveView
myModelView.FrameState = swWindowState_e.swWindowMaximized
boolstatus = Part.Extension.SelectByID2("Pièce1-4@Assemblage1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
Part.ClearSelection2 True
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Pièce1-4@Assemblage1", "COMPONENT", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.ReplaceComponents("C:\Users\Kévin\Desktop\Test-macro-solidworks\Pièce2.SLDPRT", "", False, 0, True)
End Sub

Même si je remplace l'indicateur par le bon, la macro ne fonctionne pas.

J'ai une fenêtre d'erreur qui apparaît avec le message suivant:

Erreur d’exécution'450':
Nombre d'argument incorrect ou affectation de propriété incorrecte

je clic donc sur Débogage.
Le dernier "boolstatus" se surligne en jaune

Face à cela je ne sais nullement quoi faire. J'aurai besoins d'explication SVP.
Denki
Néophyte
 
Messages: 2
Inscription: Sam 21 Déc 2019 12:38
Version de SolidWorks et SP: SolidWorks 2016 SP2.0

Share On:

Partagez sur Facebook Facebook Partagez sur Twitter Twitter

Re: Macro remplacer un composant  Sujet résolu

Messagepar Denki » Dim 22 Déc 2019 13:26

J'ai trouver Quand la macro s'enregistre elle ajoute un 5ème argument dans la dernière ligne de code d'ou le problème car la fonction n'attend que 4 argument et non 5 il suffit don de supprimer l'avant dernier argument avec un virgule adjacente.
Et voila une macro qu'i fonctionne 8-)
Denki
Néophyte
 
Messages: 2
Inscription: Sam 21 Déc 2019 12:38
Version de SolidWorks et SP: SolidWorks 2016 SP2.0

Re: Macro remplacer un composant

Messagepar Scofield » Mar 24 Déc 2019 07:46

Bonjour, il y a déjà une fonction pour remplacer un composant, pourquoi en faire une macro?
Nombreux sont les sujets résolus, pensez à faire une recherche
Avatar de l’utilisateur
Scofield
Grand sage
 
Messages: 1282
Inscription: Jeu 15 Nov 2012 19:53
Version de SolidWorks et SP: SolidWorks 2017 SP5

Re: Macro remplacer un composant

Messagepar Merovingien » Mar 24 Déc 2019 11:27

Denki, si tu peux remettre le code corrigé stp ?

c'est juste pour voir, pour des non-initié en macro, comme moi !


Scofield, c'est bien cette fonction qu'il utilise dans sa macro,
son besoin doit être un changement en masse, ou répétitif, d'ou la création de la macro.
Que le coté obscur soit avec vous, et règne sur toute la galaxie...
Avatar de l’utilisateur
Merovingien
Citoyen
 
Messages: 84
Inscription: Lun 24 Sep 2018 17:48
Localisation: France, Loire (42)
Version de SolidWorks et SP: SolidWorks 2017 SP5.0

Re: Macro remplacer un composant

Messagepar Scofield » Dim 29 Déc 2019 10:39

Merovingien a écrit:Scofield, c'est bien cette fonction qu'il utilise dans sa macro,
son besoin doit être un changement en masse, ou répétitif, d'ou la création de la macro.


en masse ou répétitif j'ai un raccourcis clavier et ça va très vite, je veux bien que tu m'expliques à quoi ça te sert Denki?
Nombreux sont les sujets résolus, pensez à faire une recherche
Avatar de l’utilisateur
Scofield
Grand sage
 
Messages: 1282
Inscription: Jeu 15 Nov 2012 19:53
Version de SolidWorks et SP: SolidWorks 2017 SP5


Retourner vers Apprentissage

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron