Makro "tylko do odczytu"

Cze wszystkim

Potrzebowałbym makra, które automatycznie sprawia, że pliki SW są tylko do odczytu.

Używam już poniższego makra @.PL z SolidWorks

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

ale potrzebowałbym prostszego makra , które nie prosi mnie o potwierdzenie (chcę mieć możliwość zintegrowania go z narzędziem INTEGRACJA).

Z góry dziękuję.

 

1 polubienie

Witam

Aby usunąć żądanie walidacji, skomentuj (apostrof na początku wiersza) następujące wiersze (pogrubionym podkreśleniem):

Edycja: Edytuj wiersze pogrubioną czcionką, jak wspomniano wcześniej:

Jeśli GetAttr(PathName) i vbReadOnly to
Jeśli plik jest tylko do odczytu
        ret = MsgBox("Ten plik jest tylko do odczytu, czy chcesz do niego pisać?" & vbNewLine_
        & vbNewLine & "Pamiętaj, aby zapisać zmiany później", vbYesNo, tytuł)

        'Wiadomość z pytaniem, czy chcemy uzyskać do niego dostęp w trybie odczytu i zapisu
        Jeśli ret = vbNo, to wyjdź z sub
        – Jeśli nie, wychodzimy z programu
        SetAttr Nazwa_ścieżki, vbNormal
        "Jeśli tak, usuwamy tylko do odczytu w systemie Windows
        Part.FileReload (Załaduj ponownie)
        ret = Part.ReloadOrReplace(False, Part.GetPathName, True)
        Part.FileReload (Załaduj ponownie)
        'Wczytujemy ponownie dokument do SolidWorks
Inaczej
'W przeciwnym razie (= odczyt pliku, zapis)
        ret = MsgBox("Ten plik jest do odczytu i zapisu, czy chcesz, aby był tylko do odczytu?", vbYesNo, title)
        'Wiadomość z pytaniem, czy chcesz uzyskać do niego dostęp w trybie tylko do odczytu
        Jeśli ret = vbNo, to wyjdź z sub
        – Jeśli nie, wychodzimy z programu
        SetAttr nazwa_ścieżki, vbReadOnly
        "Jeśli tak, to umieściliśmy w systemie Windows tryb tylko do odczytu
        Part.FileReload (Załaduj ponownie)
        ret = Part.ReloadOrReplace(False, Part.GetPathName, True)
        Part.FileReload (Załaduj ponownie)
        'Wczytujemy ponownie dokument do SolidWorks
Zakończ jeżeli:
Koniec subwoofera

3 polubienia

Edit: wiadomość do usunięcia, byłem na czymś innym

Re: Zmodyfikowane jak poprzednio, makro zapisuje pliki tylko do odczytu i tylko do odczytu zapisuje pliki.

Aby mieć tylko zapis, zmodyfikuj koniec makra za pomocą tego:

Jeśli GetAttr(PathName) i vbReadOnly to
Jeśli plik jest tylko do odczytu
        'ret = MsgBox("Ten plik jest tylko do odczytu, czy chcesz do niego pisać?" & vbNewLine_
        & vbNewLine & "Pamiętaj, aby zapisać zmiany później", vbYesNo, tytuł)

        'Wiadomość z pytaniem, czy chcemy uzyskać do niego dostęp w trybie odczytu i zapisu
        'Jeśli ret = vbNo, to wyjdź z sub
        – Jeśli nie, wychodzimy z programu
        SetAttr Nazwa_ścieżki, vbNormal
        "Jeśli tak, usuwamy tylko do odczytu w systemie Windows
        Part.FileReload (Załaduj ponownie)
        ret = Part.ReloadOrReplace(False, Part.GetPathName, True)
        Part.FileReload (Załaduj ponownie)
        'Wczytujemy ponownie dokument do SolidWorks
Inaczej
Zakończ jeżeli:
Koniec subwoofera

1 polubienie