code macro pour fermer une MEP

Bonjour a tous

Je cherche unbout de codage macro , pour fermer 1 mise en plan ,que je vient de consulter, sans enregistrer les modification.

mes essai mon conduit avec le mode apprentissage :

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()

Set swApp = _
Application.SldWorks

Set Part = swApp.ActiveDoc
Set Part = Nothing
swApp.CloseDoc "MEP 01 - Feuille2"

End Sub

maleureusement cette macro ne convient que pour 1 fichier plan donner

J'aimerais que la macro ferme la MEP active sans l'enregistrer

Cordialement 

nouveau SW

Je pense que ce ceci devrais t'aider, cela fonctionne sur ma macro

 

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
Part.ViewZoomtofit2
Set Part = Nothing
swApp.CloseDoc "Mise en plan1 - Feuille1"
swApp.ActiveDoc.ActiveView.FrameLeft = 0
swApp.ActiveDoc.ActiveView.FrameTop = 0
swApp.ActiveDoc.ActiveView.FrameState = 1
Set Part = swApp.ActivateDoc2("Pièce1", False, longstatus)
swApp.ActiveDoc.ActiveView.FrameState = 1
End Sub

 

Merci 

ta macro est comme la mienne elle convient juste pour 1 fichier ,pour moi : "MEP 01 - Feuille2"

je cherche pour que cela marche pour tous les MEP

 

Hello,

Voici une macro vite fait, tu peux supprimer la vérification de la mise en plan si tu n'en as pas besoin.

 

Dim swApp As SldWorks.SldWorks

Dim swModel As SldWorks.ModelDoc2
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long

Sub main()
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
   
    'On vérifie s'il y a bien un document ouvert
    If Not swModel Is Nothing Then
        'On vérifie si c'est une mise en plan
        If swModel.GetType = swDocDRAWING Then
            swApp.CloseDoc swModel.GetTitle
        Else
            MsgBox "Cette macro ne fonctionne que sur les mises en plan", vbCritical + vbOKOnly
        End If
    Else
        MsgBox "Veuillez ouvrir un document", vbExclamation + vbOKOnly
    End If
End Sub

 

 

 

Bravo KVuilleumier

Ta macro marche du tonnerre ,

j'attend d'autre reponse mais la tienne est tres bien

Cordialement nouveauSW

Je suis content que ma macro t'aie aider.
De ce fait, serait-il possible de mettre ma réponse (Celle qui contient la macro) en tant que meilleur réponse ? :) Merci.

OK KVuilleumier

tu peut me dire comment on fais pour te merttrer en meuilleur reponse

Au faite j'ai aussi postre 1 question sur 1 macro qui reouvrirer le fichier que ta macro a fermer, 

cordialement

Nouveau SW

En bas à droite tu as écris "Marquer comme meilleur réponse", il suffit de cliquer dessus.