Comment créer une macro CATIA pour ouvrir automatiquement plusieurs fichiers (ex: CATDrawing) situés dans un répertoire spécifique, sans les lister un par un ?
Pour ouvrir automatiquement plusieurs fichiers CATDrawing (ou autres types de documents CATIA) depuis un répertoire spécifique via une macro, la méthode la plus efficace est d’utiliser un script VBA/VBScript qui parcourt le répertoire. La simple enregistrement de macro est limitée car elle liste chaque fichier individuellement, ce qui est inefficace pour un grand nombre de fichiers ou si le contenu du répertoire change.
Voici la procédure experte pour créer une macro CATIA qui itère sur les fichiers d’un dossier :
-
ACCÉDER À L’ÉDITEUR DE MACROS
- Dans CATIA, allez dans
Outils > Macro > Macros...(ouAlt+F8). - Cliquez sur
Créer...pour créer une nouvelle macro. Donnez-lui un nom significatif (ex:OuvrirFichiersRepertoire). - Sélectionnez le type
VBA ProjectouCATScriptsi vous préférez. L’exemple ci-dessous est en VBScript, compatible avec CATScript. - Cliquez sur
Éditerpour ouvrir l’éditeur VBA (ou l’éditeur de script).
- Dans CATIA, allez dans
-
INSÉRER LE CODE DE LA MACRO
- Copiez et collez le code suivant dans le module de votre macro :
Sub CATMain() Dim documents1 As Documents Dim partDocument1 As PartDocument ' Peut être remplacé par DrawingDocument si uniquement des CATDrawing Dim windows1 As Windows Dim specsAndGeomWindow1 As SpecsAndGeomWindow Dim objFSO, objDossier, objFichier Dim Repertoire As String ' Déclare la variable Repertoire comme String On Error Resume Next ' Gère les erreurs sans arrêter le script (ex: répertoire non trouvé) ' --- DÉFINIR LE CHEMIN DU RÉPERTOIRE --- ' IMPORTANT : Remplacez ce chemin par le chemin réel de votre dossier Repertoire = "F:\CATIAV5\Tempo\TUTU\" ' Exemple : "C:\MesDessinsCATIA\" ' --- INITIALISATION DES OBJETS SYSTÈME DE FICHIERS --- Set objFSO = CreateObject("Scripting.FileSystemObject") Set objDossier = objFSO.GetFolder(Repertoire) ' --- VÉRIFICATION ET OUVERTURE DES FICHIERS --- If (objDossier.Files.Count > 0) Then For Each objFichier In objDossier.Files ' Optionnel : Vérifier l'extension si vous ne voulez ouvrir que certains types de fichiers ' If LCase(objFichier.Extension) = "catdrawing" Then Set documents1 = CATIA.Documents ' Utilisez documents1.Open pour ouvrir le fichier ' Le type de document (PartDocument, DrawingDocument, ProductDocument) sera ' déterminé automatiquement par CATIA lors de l'ouverture. Set partDocument1 = documents1.Open(Repertoire & objFichier.Name) ' End If Next Else MsgBox "Le répertoire spécifié est vide ou n'existe pas.", vbExclamation, "Erreur" End If ' --- NETTOYAGE DES OBJETS --- Set objFichier = Nothing Set objDossier = Nothing Set objFSO = Nothing Set documents1 = Nothing Set partDocument1 = Nothing Set windows1 = Nothing Set specsAndGeomWindow1 = Nothing End Sub -
PERSONNALISER LE CHEMIN DU RÉPERTOIRE
- Modifiez la ligne
Repertoire = "F:\CATIAV5\Tempo\TUTU\"pour qu’elle pointe vers le dossier contenant vos fichiers CATIA. Assurez-vous d’utiliser des barres obliques inverses simples\ou doubles\\selon votre configuration, bien que la simple barre oblique inverse\fonctionne généralement.
- Modifiez la ligne
-
EXÉCUTER LA MACRO
- Fermez l’éditeur VBA.
- Dans la boîte de dialogue
Macros, sélectionnez votre macroOuvrirFichiersRepertoireet cliquez surExécuter.
Explication du code :
CreateObject("Scripting.FileSystemObject"): Permet d’accéder aux fonctionnalités du système de fichiers de Windows (lecture de dossiers, fichiers).objFSO.GetFolder(Repertoire): Récupère l’objet dossier correspondant au chemin spécifié.For Each objFichier In objDossier.Files: Boucle à travers chaque fichier trouvé dans le dossier.documents1.Open(Repertoire & objFichier.Name): Ouvre chaque fichier en construisant son chemin complet (répertoire + nom du fichier).On Error Resume Next: Une bonne pratique pour éviter que le script ne s’arrête si un fichier est corrompu ou inaccessible.
Alternative (moins flexible) : Enregistrement de macro avec sélection multiple
Pour un nombre fixe et limité de fichiers, vous pouvez enregistrer une macro :
- Allez dans
Outils > Macro > Démarrer l'enregistrement.... - Cliquez sur l’icône
Ouvrirdans CATIA. - Dans la boîte de dialogue d’ouverture, naviguez vers votre répertoire.
- Sélectionnez tous les fichiers désirés en utilisant
Shift(pour une sélection contiguë) ouCtrl(pour une sélection non contiguë). - Cliquez sur
Ouvrir. - Arrêtez l’enregistrement de la macro.
Cette méthode est plus rapide à mettre en place mais ne gérera pas l’ajout de nouveaux fichiers au répertoire sans modification manuelle de la macro.