SebJo
Avril 1, 2022, 6:02
1
Bonjour,
J'ai réalisé une macro pour réaliser des exports à différents format, Je souhaiterais ajouter un message d'avertissement lorsque la macro a terminé de réaliser les tâches.
Je ne sais pas du tout comment m'y prendre, Auriez vous des pistes ? :)
Bonne journée, Séb
Si j'ai bien compris, il suffit d'ajouter un message en fin de macro:
Dim lWarnings As Long
Dim ActiveConfig As String
Dim sModelFullPath As String
Dim sFilePath As String
Dim NomDossierDestination As String
Dim Ext_PART As String
Dim Ext_STEP As String
Dim errors As Long
Dim warnings As Long
Ext_PART = ".SLDPRT"
Ext_STEP = ".STEP"
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
'Controle si un PART ou un ASM est ouvert
If swModel Is Nothing Then
MsgBox "Aucun assemblage ou pièce en cours", vbCritical
End
End If
If swModel.GetType <> swDocASSEMBLY And swModel.GetType <> swDocPART Then
MsgBox "Cette Macro ne fonctionne que sur les Assemblages ou les pièces", vbCritical
End
End If
Set swModelDocExt = swModel.Extension
Set swExportData = swApp.GetExportFileData(1)
swExportData.ExportAs3D = True
'Controle si le fichier ouvert a déjà été sauvegardé
filename = swModel.GetPathName
If filename = "" Then
MsgBox "Sauvegarder d'abord le fichier et réessayez", vbCritical
End
End If
ActiveConfig = swApp.GetActiveConfigurationName(filename)
' Recuperation de propriete (changer la valeur entre "" apres Get4 pour changer de propriete à récupérer)
Set swCustProp = swModelDocExt.CustomPropertyManager("")
bool = swCustProp.Get4("DESIGNATION", False, val, valout)
PropDESIGNATION = valout
sModelFullPath = swModel.GetPathName
sFilePath = Left(sModelFullPath, InStrRev(sModelFullPath, "\"))
NomDossierDestination = sFilePath
filename = NomDossierDestination & PropDESIGNATION & ".PDF"
swModel.ForceRebuild3 True
swModel.ShowNamedView2 "*Isometric", -1
swModel.ViewZoomtofit2
boolstatus = swModelDocExt.SaveAs(filename, 0, 0, swExportData, lErrors, lWarnings)
'Enregistrer le doc actif en PART
Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3(NomDossierDestination & PropDESIGNATION & Ext_PART, 0, 0)
OpenPART = NomDossierDestination & PropDESIGNATION & Ext_PART
'Ouvrir le doc précédent / Enregistrer le doc actif en STEP
Set swPart = swApp.OpenDoc6(OpenPART, 1, 0, "", errors, warnings)
Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3(NomDossierDestination & PropDESIGNATION & Ext_STEP, 0, 0)
'On affiche le message
Msgbox "les fichiers pdf, part et step ont bien été réalisés"
' Ou encore avec tes variables de nom de fichier:
Msgbox "les fichiers pdf, part et step ont bien été réalisés" & PropDESIGNATION & Ext_PART & " - " & filename & ".pdf - " & PropDESIGNATION & Ext_STEP
End Sub