Macro enregistrement PDF avec récupération de propriété?

Bonjour à tous,

Je suis en train de faire une macro qui me permet d'enregistrer une mise en plan au format PDF dans un dossier spécifique. Jusque-là tout fonctionne correctement (quel gain de temps).

Mais j'aimerais lui ajouté une modification :

Je voudrais que le nom du fichier PDF corresponde à la propriété "référence", j'ai essayé différentes solution mais je n'y arrive pas.

Quelqu'un aurait-il une solution ???

Ci-joint ma macro.

Merci d'avance.

 


macro_pdf.swp

Salut,

Tu pourrais poster le code de te macro dans un fichier TXT stp ?

Voilà...


macro1.txt
1 « J'aime »

Slt,

Voici ma macro au format TXT.

En espérant trouver une solution merci.

 

 


macro_pdf.txt
1 « J'aime »

Comme indiqué dans la question :

http://www.lynkoa.com/forum/3d/macro-d-enregistrement-en-pdf

Il faut aller dans 3D pour récupérer la propriété.

Merci de tester la macro en PJ.


macro_pdf_reference.txt
1 « J'aime »

J'avais déjà vu cette question et essayé plusieurs fois mais cela na rien donné.

Quand j'excute la macro que tu ma donné sa bloque a ce niveau:

Set swView = swDraw.GetFirstView 'active/récupère le fond de plan

Merci


bloquage_macro.jpg

C'est bien un plan qui est ouvert dans SolidWorks ? Quel est le message d'erreur ?

Oui c bien un plan qui est ouvert.

Erreur d'execution 91

Variable objet ou variable bloc With non définie

 


bloquage_macro_2.jpg
1 « J'aime »

Bonsoir,

Le problème est sur la ligne Set swDraw = swModel.

Vu que swModel n'existe pas, c'est Set swDraw = Part

D'autre part, si le code est complet, ça serait pas mal de supprimer les déclarations de variables qui ne sont pas utilisées et déclarer celles qui ne le sont pas (par exemple Dim swDraw As SldWorks.DrawingDoc)

 

1 « J'aime »

Essaye avec le fichier joint.

En effet, comme le préconise @liryc si ton code se limite à cette macro, j'ai fait le ménage dans les variables aussi.

 


macro_pdf_reference.txt

Bonjour,

Suite a l'essai avec la macro de .PL, il n'y a plus d'erreurs d'excution mais rien ne se passe.

On voit que sa travail mais aucun document PDF n'est crée.

Cette macro si simple me donne bien du mal.

Merci.

En y regardant de plus près, ces lignes sont bizarre pour moi :

swPath = Left(swPathName, InStrRev(swPathName, "PLANS_PDF_SYLOB", , 1))
swPath = swPath & "T:\PLANS_PDF_SYLOB\"

Pour toi aussi ?

Bonjour,

Je confirme la remarque de .PL.

Vu comment c'est codé, ça fait un chemin du type xxxT:\PLANS_PDF_SYLOB\ donc forcément il ne se passe pas grand chose.

Met un debug.print swPath et regarde comment c'est formaté.

En regardant également de plus près j'i l'impression que le code est bien compliqué pour quelque chose de très simple.

 

Bonjour,

Suite a de nombreux essai sans résultats, j'abandonne ma macro pourtant assez simple.

Macro ==> Enregistrer sous en PDF dans un fichier spécifique fixe avec nom du fichier = la proprièté Référence de la pièce.

Merci a tous ceux qui ont essayé de m'aider.

 

C'est dommage de rester sur un échec, tu étais vraiment près du but.

Tu as regardé la piste que je t'ai donnée dans mon dernier message et que liryc a confirmé aussi.

Tu veux poster le dernier code que tu as et je regarderai quand j'aurai le temps ?

C'est dommage de rester sur un échec, tu étais vraiment près du but.

Tu as regardé la piste que je t'ai donnée dans mon dernier message et que liryc a confirmé aussi.

Tu veux poster le dernier code que tu as et je regarderai quand j'aurai le temps ?

Bonjour,

cherchant une macro de ce type j'avoue ma deception de voir que celle-ci n'est pas fini.

mais grace à vous j'ai réussi à la finaliser.

le défaut que j'ai trouvé est que le nom de la configuaration à interroger etais "" !!!

referenc = swRefDoc.GetCustomInfoValue("", "referenc")

après modif :

cfgName = swRefDoc.GetActiveConfiguration.Name
referenc = swRefDoc.GetCustomInfoValue(cfgName, "referenc")

J'ai aussi ajouté une fonction de contrôle si le fichier est déja ouvert pour être sur d'enregistrer quelque chose.

j'espère pouvoir être utile à d'autre.


slddrw_vers_pdf_avec_proprietes.txt
5 « J'aime »