Recuperation de propriété personnalisée de fichier vers excel

Bonjour;

Les Smartproperties, via l'onglet "propriété du sommaire"  proposent d'inscrire la valeur d'une variable directement dans l'onglet des propriété/personnalisé d'un fichier (ici un slddrw).

Comment, et en VBA, puis-je recuperer la valeur de la variable "REVISION" depuis le fichier (non ouvert) pour l'inscrire dans un tableau excel ?

 

Tu peux pas le faire avec l'utilitaire SmartBOM puis exporter le résulat sous Excel?

2 « J'aime »
Bonjour, Il est possible d'accéder à l'ensemble des propriétés avancées (onglet Résumé) en utilisant la bibliothèque "Microsoft Shell Controls and Automation", voir ici : http://silkyroad.developpez.com/VBA/ProprietesClasseurs/#LIV-C Par contre, je ne suis pas sûr que cela récupère toutes les propriétés avancées d’un fichier SolidWorks. Dans ce cas là et si tu as les utilitaires MyCAD, je conseille plutôt d’utiliser BatchProperties, qui permet d’exporter toutes les propriétés (de tous les fichiers d’un dossier par exemple) vers un fichier Excel. Voir dans l’aide, « Enregistrement et lecture d'une liste de propriétés » : « [On peut] enregistrer la liste des propriétés en générant un fichier au format Excel. »

Merci Flegendre;

J'utilise deja SmartBom pour mes nomenclature classiques et la gestion de mes feuilles de MEP dans ce cas pas de problémes.

Ma demande porte sur un autre projet Excel de recenssement de fichier de MEP+dwg+pdf pour verifier leur existance ou pas (Voir :http://www.lynkoa.com/forum/3d/quelle-mise-en-plan-reste-faire-0?page=0#answer-496652)

SmartBom ne repond pas à mes attente dans ce domaine.

1 « J'aime »

.PL;

Merci pour la reponse, j'avais deja essayé ce modéle, et elle ne recupére pas toutes les propriétés et je ne parviens pas à identifier uniquement les noms de celles que je souhaite importer.

1 « J'aime »

Salut,

En fait tu veux faire quoi ?

Balayer un dossier ou un répertoire et lister les documents existants en récupérant leurs propriétés ?

 

Edit : Essai le classeur Excel PilotAssembly d'axemble.

Remrem;

Oui c'est un peu cela;

J'ai créé une macro Excel qui scanne un repertoire à la recherche de MEP associée avec mes pièces/assemblages (si elles existent).

(voir lien sur message precedent)

Cette Macro verifie aussi s'il existe des copies de ces MEP en dwg et en PDF

Mes fichiers PDF et DWG incluent l'indice courant lors de leur enregistrement dans leur nom.

Ce que je souhaite c'est pouvoir comparer le dernier indice de mes MEP avec celui de mes documents pdf et DWG pour contrôler que mes fichier sont bien à jour.

1 « J'aime »

Je ne vois pas bien ce que peux apporter "PilotAssembly" à ce niveau.

1 « J'aime »

PilotAssembly récupére les propriétés comme tu veux le faire. Non ?

Comment peux tu récupérer ta propriété révision sur un fichier pdf ou dwg pour le comparer a celle de ton fichier slddrw ?

Remrem;

J'utilise l'utilitaire BatchConverter pour sauver mes MEP en dwg et en pdf.

Cet utilitaire permet de concatener le nom du fichier slddrw avec une propriété :

par exemple ma mise en plan s'appelle George.slddrw et est à l'indice B

du coup mon *.dwg s'appelera George_(B).dwg

-> option export , ajouter derniers carractéres =_(<And><SW:Revision><And>)

En revanche PilotAssembly, comme son nom l'indique n'intervient que sur des assemblages ouverts, alors que je cherche à utiliser des MEP fermées.

 

1 « J'aime »
Donc désolé je ne pense pas qu'il y ait de solution avec Excel ou VBA. Batchproperties que j'ai proposé dans mon premier lien est la seule solution je pense.

Smartbom peut te faire des nomenclatures mais peut aussi te lister des fichiers dans un répertoire.

1 « J'aime »

Ouf, c'etait pas simple mais j'ai reussi à resoudre mon problème et sans passer par les outils Axembles (qui sont de pire en pire chaque années...)

1 « J'aime »

Bonjour Maclane,

 

Comment à tu résolue ton problème ?

J'ai aussi besoin de récupérer des propriété de fichier parent/enfant afin de concaténer un nom de fichier mais sans que les fichiers soit ouvert ou modifié (indice de révision).

 

Merci de ton retour