SebJo
1. April 2022 um 06:02
1
Hallo
Ich habe ein Makro erstellt, um Exporte in verschiedenen Formaten durchzuführen, Ich möchte eine Warnmeldung hinzufügen, wenn das Makro die Ausführung der Aufgaben abgeschlossen hat.
Ich weiß überhaupt nicht, wie ich das machen soll, Haben Sie Leads? :)
Schönen Tag Séb
Wenn ich richtig verstanden habe, füge einfach eine Nachricht am Ende des Makros hinzu:
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