j'aimerais savoir si en vba dans solidworks j'ai moyen de savoir si le fichier est sauvegarder ? (Avant de le fermer, et s'il n'est pas sauvegarder on le laisse simplement ouvert).
Egalement j'aimerais savoir si on a moyen d'obtenir si le fichier est en lecture seule ou non ? (Nous utilisons l'EPDM, donc s'il est en lecture seule c'est qu'on ne peux de toute façon pas le sauvegarder donc on peut le fermer).
J'ai essayer ceci:
Dim instance As IDocumentSpecification Dim value As Boolean Set instance = swApp.GetOpenDocSpec(swModel.GetPathName) Dim Stringi As String Stringi = instance.ReadOnly
Mais le Debug m'indique toujours false, même si le fichier est en lecture seule.
Edit : pour savoir si le document a été sauvegardé, j'utilise la méthode GetPathName, si la variable est vide, c'est qu'il n'a pas encore été enregistré.
Exemple :
Set swApp = Application.SldWorks Set CurrentDOC = swApp.ActiveDoc Set swModel = swApp.ActiveDoc Set swConfigMgr = swModel.ConfigurationManager docPath = CurrentDOC.GetPathName If docPath = "" Then MsgBox ("ce document n'a pas encore été sauvé") End if
Concernant la lecture seul, votre code est parfait.
Pour la sauvegarde j'y ai penser (J'ai d'ailleurs besoin de le faire avant la vérification de la lecture seule pour pas avoir de soucis sur le chemin), mais ceci ne me dit pas si le document est "enregistré", enfin qu'il n'y a plus la petite étoile en haute à coté du nom sur SW :p
Pour la deuxième question, tu peux poser une autre question comme celle-ci est cloturée et pour plus de lisibilité, il se pourrait que j'ai une solution ;-)