Macro enregistrer en *.sat

Bonjour, je suis à la recherche d'une macro qui me permetterait d'ajouter un bouton enregistrer en sat.

Quelqu'un aurait-il un tuto, ou directement cette petite macro dans ces tiroirs?

Merci d'avance, bien cordialement,

Besnier JB

Bonjour,

Il y a une macro ici :

https://forum.solidworks.com/message/215237#215237

Voir aussi :

https://forum.solidworks.com/thread/74872

https://forum.solidworks.com/thread/32671

 

Et pour ajouter un bouton, voir mon tutoriel :

http://www.lynkoa.com/tutos/3d/ajouter-un-bouton-pour-macro-dans-solidworks

 

et pourquoi question peut etre idiote ?

ne pas prendre une macro tel que celle poste sur ce fil puisque apres test elle marche bien

http://www.lynkoa.com/forum/cao/creer-une-macro-pour-exporter-en-xt-sur-solidworks-2010

et simplement transformer la destination en .sat

peut etre que je dis une connerie ;-((

voir avec les specialistes des macro

@+ ;-))

2 « J'aime »

En effet GT22, on peut essayer la macro suivante :

Sub Sauvegarde_X_T()

 

   
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Locatie As String
Dim Locatie_aangepast As String
Dim OpenDoc As Object
Dim Extensie_nieuw As String
Dim Extensie_oud As String
Dim retval As String
Dim Naam As String
Dim Naam_aangepast As String

 

Set swApp = CreateObject("SldWorks.Application")
Set swModel = swApp.ActiveDoc
Set OpenDoc = swApp.ActiveDoc()

Extensie_oud = ".SLDASM"
Extensie_nieuw = ".SAT"
Locatie = OpenDoc.GetPathName
Locatie_aangepast = Left(Locatie, Len(Locatie) - 7)
retval = Dir$(Locatie_aangepast & Extensie_oud)
Naam = Dir$(Locatie)
Naam_aangepast = Left(Naam, Len(Naam) - 7)
Titel = OpenDoc.GetTitle
Titel = Left(Titel, (Len(Titel)))


   ' If retval = Naam Then
        'nRetval = swApp.SendMsgToUser2(Naam_aangepast & " DXF créé !!!!", swMbWarning, swMbOk)
  '  End If
    
    
Set Part = swApp.ActiveDoc
longstatus = Part.SaveAs3(Naam_aangepast & Extensie_nieuw, 0, 0)

End Sub

@PL, en changeant évidemment : " DXF créé !!!!" par " .SAT créé !!!!"

La partie suivante du code est inactive :

' If retval = Naam Then
        'nRetval = swApp.SendMsgToUser2(Naam_aangepast & " DXF créé !!!!", swMbWarning, swMbOk)
  End If

Je pense que le développeur a voulu faire une détection d'erreur dans le cas ou le fichier existe déjà.

Cependant SW prend déjà cela en compte.

1 « J'aime »

Et mince, ok je n'ai rien dit ;) !