Ich würde gerne wissen, ob ich in VBA in Solidworks eine Möglichkeit habe zu wissen, ob die Datei gesichert ist? (Bevor Sie es schließen und wenn es nicht gespeichert wird, lassen Sie es einfach geöffnet).
Ich würde auch gerne wissen, ob wir eine Möglichkeit haben, herauszufinden, ob die Datei schreibgeschützt ist oder nicht? (Wir verwenden EPDM, wenn es also schreibgeschützt ist, liegt es daran, dass wir es sowieso nicht speichern können, also können wir es schließen).
Ich habe das versucht:
Dim-Instanz als IDocumentSpecification Dimmwert: Als boolescher Wert Instanz festlegen = swApp.GetOpenDocSpec(swModel.GetPathName) Dim Stringi As String Stringi = Instanz. Schreibgeschützt
Aber das Debug sagt mir immer false, auch wenn die Datei schreibgeschützt ist.
Bearbeiten: Um herauszufinden, ob das Dokument gespeichert wurde, verwende ich die GetPathName-Methode , wenn die Variable leer ist, bedeutet dies, dass sie noch nicht gespeichert wurde.
Beispiel:
Legen Sie swApp = Application.SldWorks fest Setze CurrentDOC = swApp.ActiveDoc Festlegen von swModel = swApp.ActiveDoc Festlegen von swConfigMgr = swModel.ConfigurationManager docPath = AktuellesDOC.GetPathName Wenn docPath = "" Dann MsgBox ("Dieses Dokument wurde noch nicht gespeichert") Ende, wenn
In Bezug auf schreibgeschützt ist Ihr Code perfekt.
Für das Backup habe ich darüber nachgedacht (ich muss es vor der Nur-Lese-Prüfung machen, damit ich unterwegs keine Probleme habe), aber das sagt mir nicht, ob das Dokument "gespeichert" ist, naja, dass es nicht mehr den kleinen Stern oben neben dem Namen auf SW:p gibt