[VBA] Czy kopia zapasowa pliku została utworzona? Jeśli nie, to czy jest tylko do odczytu?

Witam

Chciałbym wiedzieć, czy w VBA w Solidworks mam sposób, aby dowiedzieć się, czy plik jest zarchiwizowany? (Przed zamknięciem go, a jeśli nie zostanie zapisany, po prostu pozostaw go otwartym).

Chciałbym również wiedzieć, czy mamy sposób, aby dowiedzieć się, czy plik jest tylko do odczytu, czy nie? (Używamy EPDM, więc jeśli jest tylko do odczytu, to dlatego, że i tak nie możemy go zapisać, abyśmy mogli go zamknąć).

Próbowałem tego:

            Dim instance As IDocumentSpecification
            Wartość przyciemniona Jako wartość logiczna
            Ustaw instancję = swApp.GetOpenDocSpec(swModel.GetPathName)
            Dim Stringi As String
            Stringi = instancja. Tylko do odczytu

 

Ale Debug zawsze mówi mi false, nawet jeśli plik jest tylko do odczytu.

Witam

Aby uzyskać informacje tylko do odczytu, zobacz moje makro, które opublikowałem tutaj:

http://www.lynkoa.com/tutos/3d/macro-solidworks-retirer-lecture-seule-pour-fichiers-de-bibliotheque

Lub tutaj:

http://www.lynkoa.com/sites/default/files/questions/answer/09/09/2014/bibliotheque_lecture_seule.swp

 

Edycja: aby dowiedzieć się, czy dokument został zapisany, używam metody GetPathName , jeśli zmienna jest pusta, oznacza to, że nie została jeszcze zapisana.

Przykład:

Ustaw swApp = Application.SldWorks
Ustaw CurrentDOC = swApp.ActiveDoc
Ustaw swModel = swApp.ActiveDoc
Ustaw swConfigMgr = swModel.ConfigurationManager
    docPath = BieżącyDOC.Nazwa_ścieżki_pobierania
Jeśli docPath = "" Następnie
    MsgBox ("ten dokument nie został jeszcze zapisany")
Zakończ się, jeśli

1 polubienie

Dziękuję za odpowiedź!

 

Jeśli chodzi o tylko do odczytu, Twój kod jest idealny.

W przypadku kopii zapasowej myślałem o tym (muszę to zrobić przed sprawdzeniem tylko do odczytu, żeby nie mieć żadnych problemów po drodze), ale to mi nie mówi, czy dokument jest "zapisany", cóż, że nie ma już małej gwiazdki na górze obok nazwy na SW :p

Po zastanowieniu się myślę, że wiedza o tym, czy plik jest tylko do odczytu, jest dla mnie wystarczająca.

 

Ale jeśli ktoś ma rozwiązanie, nie wahaj się! Może się przyda na inny czas lub komuś innemu :)

1 polubienie

W przypadku drugiego pytania możesz zadać kolejne pytanie, takie jak to, które jest zamknięte i dla większej czytelności mogę mieć rozwiązanie ;-)

Bardzo dobrze, z drugiej strony zajmę się tym w piątek (jutro i pojutrze mnie nie ma) i teraz wyjeżdżam.

1 polubienie