Macro "Lecture seule"

Bonjour à tous,

J'aurais besoin d'une macro qui mette automatiquement les fichiers SW en lecture seule.

J'utilise déjà la macro d' @.PL depuis SolidWorks ci dessous

http://www.lynkoa.com/forum/solidworks/macro-mettre-fichier-lecture-seule

mais j'aurais besoin d'une macro plus simple qui ne me demande pas de confirmer (je veux pouvoir l'intégrer à l'utilitaire INTEGRATION).

Merci d'avance.

 

1 « J'aime »

Bonjour,

Pour enlever la demande de validation, mets en commentaire (apostrophe en début de ligne) les lignes suivantes (en gras souligné) :

Edit : Modifier les lignes en gras comme dit précédemment :

If GetAttr(PathName) And vbReadOnly Then
'Si le fichier est en lecture seule
        ret = MsgBox("Ce fichier est en lecture seule, voulez-vous y acceder en écriture ?" & vbNewLine _
        & vbNewLine & "Pensez à enregistrer vos modifications par la suite", vbYesNo, titre)

        'message pour demander si on veut y accéder en lecture écriture
        If ret = vbNo Then Exit Sub
        'Si non, on quitte le programme
        SetAttr PathName, vbNormal
        'Si oui, on enlève la lecture seule dans Windows
        Part.FileReload
        ret = Part.ReloadOrReplace(False, Part.GetPathName, True)
        Part.FileReload
        'On recharge le document dans SolidWorks
Else
'Sinon (= fichier en lecture écriture)
        ret = MsgBox("Ce fichier est en lecture écriture, voulez-vous le remettre en lecture seule ?", vbYesNo, titre)
        'message pour demander si on veut y accéder en lecture seule
        If ret = vbNo Then Exit Sub
        'Si non, on quitte le programme
        SetAttr PathName, vbReadOnly
        'Si oui, on met la lecture seule dans Windows
        Part.FileReload
        ret = Part.ReloadOrReplace(False, Part.GetPathName, True)
        Part.FileReload
        'On recharge le document dans SolidWorks
End If
End Sub

3 « J'aime »

Edit : message à supprimer, j'étais sur autre chose

Re : modifiée comme précédemment, la macro met en écriture les fichiers en lecture seule et en lecture seule les fichiers en écriture.

Pour avoir uniquement la mise en écriture modifie la fin de ta macro par celle-là :

If GetAttr(PathName) And vbReadOnly Then
'Si le fichier est en lecture seule
        'ret = MsgBox("Ce fichier est en lecture seule, voulez-vous y acceder en écriture ?" & vbNewLine _
        & vbNewLine & "Pensez à enregistrer vos modifications par la suite", vbYesNo, titre)

        'message pour demander si on veut y accéder en lecture écriture
        'If ret = vbNo Then Exit Sub
        'Si non, on quitte le programme
        SetAttr PathName, vbNormal
        'Si oui, on enlève la lecture seule dans Windows
        Part.FileReload
        ret = Part.ReloadOrReplace(False, Part.GetPathName, True)
        Part.FileReload
        'On recharge le document dans SolidWorks
Else
End If
End Sub

1 « J'aime »