Mix de deux macros_Composition à Emporter

Bonjour,

J'ai deux morceaux de code qui fonctionnent pour réaliser une composition à emporter mais j'aimerais les fusionner pour "mixer" les actions réalisées.

Dans le fichier texte "Choix dossier", je peux saisir le chemin du dossier dans lequel les pièces de la composition à emporter doivent aller et le nom des pièces reste identique à celui d'origine. C'est ce que je souhaite (j'ajouterais peut-être un suffixe).

Dans le fichier texte "Exclusion pièces", je peux exclure les pièces qui contiennent une certaine chaîne de caractères dans leur nom. Par contre je ne choisit pas le dossier de destination et le nom des pièces n'a plus rien à voir avec celui d'origine.

 

Je souhaite donc, via les deux morceaux de code, pouvoir choisir le dossier de destination des pièces tout en gardant leur nom et en exluant celles qui contiennent certains caractères.

Pouvez-vous m'aider car je bloque ?

J'ai essayé plusieurs solutions (généralement la macro s'exécute correctement) mais j'obtiens plusieurs résultats :

 - la composition à emporter ne se fait plus

 - les pièces sont renommées

 - le dossier d'enregistrement n'est pas le bon

 

Merci d'avance


composition_macro.zip
1 « J'aime »

Bonjour,

 

En poursuivant mes recherches, je suis tombé sur cette page : http://www.forum-cao-3d.fr/api-questions/macro-de-composition-a-emporter-t11454.html

J'ai réussi à supprimer l'incrémentation qui renommait les fichiers mais je bloque sur la partie qui permet de sélectionner le dossier d'enregistrement de la composition à emporter.

Pour le moment, une boîte de dialogue s'ouvre, je peux sélectionner un dossier mais les fichiers de la composition à emporter ne vont pas dans celui sélectionné.

Comment faire pour "Enregistrer le résultat dans une variable de type String" ?

Merci


capture.png

Salut,

Désolé je n'ai pas eu le temps de regarder ton problème.

Peut-être la semaine prochaine...

Pour enregistrer en string, il suffit :

dim x as string '(ou autre nom que X)

x = getfolder("Texte à définir")

C'est ce que j'ai utilisé mais comme c'est indiqué dans l'autre post, je pensais qu'il y avait une autre ligne à ajouter après pour récupérer le résultat de la sélection du dossier dans la fenêtre Windows.

En effet, le getfolder fonctionne puisque la fenêtre de sélection du dossier s'ouvre mais on dirait que le choix effectué n'est pas enregistré vu que les pièces de la compostion à emporter ne vont pas dans le dossier sélectionné.

J'ai trouvé le code qui permet d'exclure des composants de la composition à emporter tout en choisissant le dossier de destination.

Le code est en pièce jointe.

Cependant, l'assemblage de base reste ouvert et j'aimerais que ce soit celui de la composition à emporter qui s'affiche.

Savez-vous comment faire ?


macro.txt

Salut, est ce que la macro que tu utilisais avant ouvrait la composition à emporter ? 

Si oui tu peux mettre les deux codes en pièce jointe dans des fichiers texte pour que je regarde ?

Salut .PL,

Non, le fichier affiché était aussi celui d'origine.

Je pense fermer le fichier d'origine puis ouvrir celui de la composition à emporter. Par contre je ne sais pas comment m'y prendre pour aller chercher l'assemblage dans le dossier sélectionné par la fonction GetFolder.

Autre problème, avant la composition à emporter, la macro modfifie des cotes de pièces directement dans l'assemblage (des cotes d'esquisse et une valeur d'extrusion).

Quand j'ouvre l'assemblage de la composition à emporter les dimensions sont celles d'origine. Cependant, si j'ouvre la pièce où les cotes d'esquisse ont été changées alors l'assemblage se met à jour. Par contre, pour la pièce où je modiifie la valeur de l'extrusion, si j'ouvre cette pièce la valeur d'extrusion est celle d'origine.

Quelqu'un à une idée pour mettre à jour l'assemblage (si possible en évitant de saivegarder l'assemblage de base après les modifications) ?

Bonjour,

J'ai trouvé la solution à mon problème, le code est dans le fichier texte ci-joint.

Les étapes sont les suivantes :

 - Ouverture de l'assemblage de base

 - Compostion à emporter avec choix du dossier et noms de base avec préfixe

 - Fermeture de l'assemblage de base

 - Extraction des fichiers zipés

 - Ouverture de la pièce à modifier dans l'assemblage

 - Modification de la pièce puis fermeture de celle-ci

 - Ouverture de l'assemblage de la compostion à emporter

 - Suppression du fichier .zip


macro.txt