Macro "Alleen-lezen"

Hoi allemaal

Ik zou een macro nodig hebben die automatisch SW-bestanden alleen-lezen maakt.

Ik gebruik al de @.PL macro van SolidWorks hieronder

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

maar ik zou een eenvoudigere macro nodig hebben die me niet vraagt om te bevestigen (ik wil het kunnen integreren met het hulpprogramma INTEGRATIE).

Bij voorbaat dank.

 

1 like

Hallo

Als u het validatieverzoek wilt verwijderen, plaatst u een opmerking (apostrof aan het begin van de regel) op de volgende regels (vetgedrukt onderstreept):

Edit: Bewerk de regels in vet zoals eerder gezegd:

Als GetAttr(PathName) en vbReadOnly dan
Als het bestand alleen-lezen is
        ret = MsgBox ("Dit bestand is alleen-lezen, wilt u ernaar schrijven?" & vbNewLine_
        & vbNewLine & "Vergeet niet om uw wijzigingen later op te slaan", vbYesNo, titel)

        'bericht om te vragen of we er in lezen en schrijven toegang toe willen hebben
        Als ret = vbNo dan afsluit Sub
        'Zo niet, dan stappen we uit het programma
        SetAttr PathName, vbNormal
        'Als dat zo is, halen we de read-only in Windows weg
        Deel.BestandHerladen
        ret = Part.ReloadOrReplace(False, Part.GetPathName, True)
        Deel.BestandHerladen
        'We laden het document opnieuw in SolidWorks
Anders
'Anders (= bestand lezen, schrijven)
        ret = MsgBox("Dit bestand is read-write, wil je het alleen-lezen maken?", vbYesNo, titel)
        'Bericht om te vragen of u toegang wilt tot het in de alleen-lezen modus
        Als ret = vbNo dan afsluit Sub
        'Zo niet, dan stappen we uit het programma
        SetAttr PathName, vbReadOnly
        'Als dat zo is, zetten we read-only in Windows
        Deel.BestandHerladen
        ret = Part.ReloadOrReplace(False, Part.GetPathName, True)
        Deel.BestandHerladen
        'We laden het document opnieuw in SolidWorks
Einde als
Einde Sub

3 likes

Edit: bericht te verwijderen, ik was op iets anders

Re: Gewijzigd zoals eerder, de macro schrijft alleen-lezen bestanden en alleen-lezen schrijft om bestanden te schrijven.

Om alleen het schrijven te hebben, wijzigt u het einde van uw macro met deze:

Als GetAttr(PathName) en vbReadOnly dan
Als het bestand alleen-lezen is
        'ret = MsgBox ("Dit bestand is alleen-lezen, wilt u ernaar schrijven?" & vbNewLine_
        & vbNewLine & "Vergeet niet om uw wijzigingen later op te slaan", vbYesNo, titel)

        'bericht om te vragen of we er in lezen en schrijven toegang toe willen hebben
        'Als ret = vbNo dan exit sub
        'Zo niet, dan stappen we uit het programma
        SetAttr PathName, vbNormal
        'Als dat zo is, halen we de read-only in Windows weg
        Deel.BestandHerladen
        ret = Part.ReloadOrReplace(False, Part.GetPathName, True)
        Deel.BestandHerladen
        'We laden het document opnieuw in SolidWorks
Anders
Einde als
Einde Sub

1 like