Macro : Problème de communication entre CATIA et Excel
2 participants
Page 1 sur 1
Macro : Problème de communication entre CATIA et Excel
Bonjour à tous,
Comme annoncé dans le titre du post, j’ai un problème de communication entre Excel et Catia.
Je m’explique, je me suis fait une macro qui, à partir d’une nomenclature, permet de copier/coller des fichiers d’un répertoire à un autre. Elle permet de faire le transfert de .CATPart, .CATDrawing, .stp et pdf. Cette partie de la macro fonctionne très bien à partir du moment où les fichiers stp et pdf ont préalablement été créés.
Je voudrais améliorer cette macro en ajoutant la fonction de conversions de fichier de .CATDrawing en .pdf et plus tard la conversion de fichier .CATPart en .stp (mais ce sera dans un second temps)
J’ai une macro Catia qui me permet de faire la conversion de drawing en pdf, elle fonctionne lorsque je la lance depuis l’éditeur VBA de Catia mais ne fonctionne plus lorsque je la passe sur Excel. J’ai ajouté toute les bibliothèques Catia disponible dans Excel + la librairie CATIA V5 ApplicationFrame Object Library et pourtant ça ne fonctionne pas.
Voici la macro qui fonctionne lorsqu’on la lance avec CATIA que j’ai intégrée dans Excel :
L’erreur survient à la ligne 41 ( Set documents1 = CATIA.Documents) et l’éditeur VBA m’affiche l’erreur 429 : un composant ActiveX ne peut pas crée d’objet.
Est-ce que quelqu’un aurait une idée pour résoudre le problème ? Ou une façon de le contourner ?
J’ai vraiment l’impression que c’est un problème d’interprétation du CATIA.Documents qu’excel ne gère pas, d’où ma suspicion d’un problème de communication entre excel et Catia.
Voilà, j’espère avoir été clair, si vous avez des questions n’hésitez pas !
Merci d’avance
Comme annoncé dans le titre du post, j’ai un problème de communication entre Excel et Catia.
Je m’explique, je me suis fait une macro qui, à partir d’une nomenclature, permet de copier/coller des fichiers d’un répertoire à un autre. Elle permet de faire le transfert de .CATPart, .CATDrawing, .stp et pdf. Cette partie de la macro fonctionne très bien à partir du moment où les fichiers stp et pdf ont préalablement été créés.
Je voudrais améliorer cette macro en ajoutant la fonction de conversions de fichier de .CATDrawing en .pdf et plus tard la conversion de fichier .CATPart en .stp (mais ce sera dans un second temps)
J’ai une macro Catia qui me permet de faire la conversion de drawing en pdf, elle fonctionne lorsque je la lance depuis l’éditeur VBA de Catia mais ne fonctionne plus lorsque je la passe sur Excel. J’ai ajouté toute les bibliothèques Catia disponible dans Excel + la librairie CATIA V5 ApplicationFrame Object Library et pourtant ça ne fonctionne pas.
Voici la macro qui fonctionne lorsqu’on la lance avec CATIA que j’ai intégrée dans Excel :
- Code:
Public myDrawing As DrawingDocument
Public Sub CATMain()
lunchComputation
'Demande de sélectionner le dossier source:
Const ssfTous = &H1
Dim objShell As Object, ObjFolder As Object, oFolderItem As Object
Set objShell = CreateObject("Shell.Application")
Set ObjFolder = objShell.BrowseForFolder(&H0&, "Sélectionner le répertoire source", ssfTous)
'Si clic annuler alors
If ObjFolder Is Nothing Then
MsgBox "Fin de l'application", vbInformation, "État de la conversion"
'Sinon...
Else
'Dossier sélectionné mis en variable
Set oFolderItem = ObjFolder.Items.Item
MsgBox oFolderItem.Path, , "Dossier selectionné"
MySourceFolder = oFolderItem.Path
MySourceFolder = MySourceFolder & "\"
Set objShell = Nothing
Set ObjFolder = Nothing
Set oFolderItem = Nothing
' File = Dir(MySourceFolder & "*.CATDrawing")
'Comptage du nombre de fichier trouvés
Rep = Dir(MySourceFolder & "*.CATDrawing")
While Rep <> ""
nbfichiertotal = nbfichiertotal + 1
Rep = Dir
Wend
MsgBox "Nombre de plans à convertir : " & nbfichiertotal
'Ouverture du fichier trouvé
Dim documents1 As Documents
File = Dir(MySourceFolder & "*.CATDrawing")
While File <> ""
Set documents1 = CATIA.Documents
Set drawingDocument1 = documents1.Open(MySourceFolder & File)
Set myDrawing = CATIA.ActiveDocument
nameCATDrawing = Left(myDrawing.Name, Len(myDrawing.Name) - 11) 'on supprime l'extension .CATDrawing (11 caractères)
myDrawing.ExportData myDrawing.Path & "\" & nameCATDrawing & ".pdf", "pdf"
myDrawing.Close
File = Dir
Wend
'Suppression de PDF TITLE_BLOCK
FilePDFTITLE = Dir(MySourceFolder & "*_TITLE_BLOCK.pdf")
While FilePDFTITLE <> ""
PlanPDFAsupprimer = MySourceFolder & "*_TITLE_BLOCK.pdf"
Kill PlanPDFAsupprimer
FilePDFTITLE = Dir
Wend
'Renommage du PDF WORKSHEET
FilePDFWORK = Dir(MySourceFolder & "*_WORKSHEET.pdf")
While FilePDFWORK <> ""
Texte = Left(FilePDFWORK, Len(FilePDFWORK) - 14)
Texte = Texte & ".pdf"
Name MySourceFolder & FilePDFWORK As MySourceFolder & Texte
FilePDFWORK = Dir
Wend
'MsgBox "Export terminé"
End If
End Sub
'**************************************************************************************************************************************
' Fonction permettant d'ouvrir catia
' Parametre : /
'**************************************************************************************************************************************
Function lunchComputation()
'Modifier le chemin pour que catia se lance au travers de la macro
Shell "CMD /C " & """" & "cd C:\Program Files\Dassault Systemes\B21\win_b64\code\bin && CATSTART" & """"
MsgBox "Veuillez patienter 10 secondes l'ouverture de CATIA"
Application.Wait Now + TimeValue("0:00:10")
End Function
L’erreur survient à la ligne 41 ( Set documents1 = CATIA.Documents) et l’éditeur VBA m’affiche l’erreur 429 : un composant ActiveX ne peut pas crée d’objet.
Est-ce que quelqu’un aurait une idée pour résoudre le problème ? Ou une façon de le contourner ?
J’ai vraiment l’impression que c’est un problème d’interprétation du CATIA.Documents qu’excel ne gère pas, d’où ma suspicion d’un problème de communication entre excel et Catia.
Voilà, j’espère avoir été clair, si vous avez des questions n’hésitez pas !
Merci d’avance
Spo- timide
- Messages : 5
Date d'inscription : 20/12/2017
Localisation : Blagnac
Re: Macro : Problème de communication entre CATIA et Excel
Bonjour Simon,
Il me semble qu'il te manque la déclaration de ton application CATIA dans ta macro EXCEL.
Insère les lignes ci dessous avant d'utiliser les commandes CATIA :
Inversement, si tu veux utiliser des fonctions EXCEL dans une macro CATIA :
Il me semble qu'il te manque la déclaration de ton application CATIA dans ta macro EXCEL.
Insère les lignes ci dessous avant d'utiliser les commandes CATIA :
- Code:
Dim CATIA As Object
On Error Resume Next
Set CATIA = GetObject(, "CATIA.Application")
If Err.Number <> 0 Then
MsgBox "Démarrer CATIA !", vbCritical, "Erreur Macro"
Exit Sub
End If
Inversement, si tu veux utiliser des fonctions EXCEL dans une macro CATIA :
- Code:
Dim xl As Object 'Excel.Application
On Error Resume Next
Set xl = GetObject(, "Excel.Application")
If Err <> o Then
Set xl = CreateObject("Excel.Application")
xl.Visible = True
End If
On Error GoTo 0
lumpazepfel- Fédérateur
- Messages : 319
Date d'inscription : 02/11/2015
Localisation : Ensisheim
Re: Macro : Problème de communication entre CATIA et Excel
Bonjour Marc,
Merci pour ta réponse, je vais essayer ça dans la journée et te tiendrais au courant.
En attendant, je te souhaite une très bonne année !
@+
Simon
Merci pour ta réponse, je vais essayer ça dans la journée et te tiendrais au courant.
En attendant, je te souhaite une très bonne année !
@+
Simon
Spo- timide
- Messages : 5
Date d'inscription : 20/12/2017
Localisation : Blagnac
Re: Macro : Problème de communication entre CATIA et Excel
Bonjour Marc,
J'ai finalement opté pour lancer la macro depuis Catia et ouvrir excel depuis Catia. Ca marche plutot bien
Merci pour m'avoir donné la bonne piste a suivre.
@+
Simon
J'ai finalement opté pour lancer la macro depuis Catia et ouvrir excel depuis Catia. Ca marche plutot bien
Merci pour m'avoir donné la bonne piste a suivre.
@+
Simon
Spo- timide
- Messages : 5
Date d'inscription : 20/12/2017
Localisation : Blagnac
Sujets similaires
» Macro Excel: Problème avec GetCoordinates
» Macro Excel Catia
» Macro CATIA vers Excel
» Macro pilote tableau catia via excel
» Mettre Excel au premier plan via macro
» Macro Excel Catia
» Macro CATIA vers Excel
» Macro pilote tableau catia via excel
» Mettre Excel au premier plan via macro
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum