Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Makro: Schreibschutz setzen, Öffen einer Datei mit openDoc

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
CAD-Systemwechsel - Wann lohnt sich ein Umstieg und wie gelingt er?, ein Webinar am 10.02.2026
Autor Thema:  Makro: Schreibschutz setzen, Öffen einer Datei mit openDoc (3407 mal gelesen)
currie
Mitglied
Betriebsmittelkonstrukteur


Sehen Sie sich das Profil von currie an!   Senden Sie eine Private Message an currie  Schreiben Sie einen Gästebucheintrag für currie

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 02. Feb. 2011 09:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo

Habe ein Makro welches den Schreibschutz eines Dokuments setzt und wieder aufhebt.

Zum Setzen "ReadOnly" muss die Datei geschlossen werden und dann kann ReadOnly gesetzt werden.

Jetzt würde ich die Datei aber gerne wieder mit dem Makro öffnen, aber da hab ich ein Problem.

Ich habe bereits Makro`s aufgezeichnet und Experimentiert aber ich bekomme es nicht hin.

Hier mal der Code
'--------------------------------------------------------
Dim swApp As Object
Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long
Dim Annotation As Object
Dim Gtol As Object
Dim DatumTag As Object
Dim FeatureData As Object
Dim Feature As Object
Dim Component As Object
Dim intPfad As String
Sub ReadOnly()
' Schreibschutz setzen
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Name = Part.GetPathName()
intPfad = Name
swApp.CloseDoc Name
Call FileSystem.SetAttr(intPfad, vbReadOnly)
' ****** Jetzt die Datei wieder öffnen "Schreibgeschützt" (intPfad)
End Sub
Sub Normal()
' Schreibschutz aufheben
Set swApp = CreateObject("SldWorks.Application")
Set Part = swApp.ActiveDoc
Name = Part.GetPathName()
intPfad = Name
'swApp.CloseDoc Name
Call FileSystem.SetAttr(intPfad, vbNormal)
End Sub
'------------------------------------------------------

Vielen Dank Currie

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 02. Feb. 2011 10:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für currie 10 Unities + Antwort hilfreich

Hallo Currie,

das Öffnen eines Dokumentes in SolidWorks machst du mit OpenDoc6, in der Hilfe steht beschrieben, welche Parameter du dafür brauchst und auch einige Beispiele, wie das genutzt wird.

Deine Beispielroutine könnte dann so aussehen, meine Ergänzungen hab ich fett markiert:

Code:
Sub ReadOnly()

    ' ein paar Variablen, die gleich gebraucht werden
    Dim doctype As Long
    Dim ModelDoc As Object
    Dim openerrors As Long
    Dim openwarnings As Long

   
    ' Schreibschutz setzen
    Set swApp = CreateObject("SldWorks.Application")
    Set Part = swApp.ActiveDoc
    Name = Part.GetPathName()
   
    ' Dokumenttype merken
    doctype = Part.GetType
   
    intPfad = Name
    swApp.CloseDoc Name
    Call SetAttr(intPfad, vbReadOnly)
    ' ****** Jetzt die Datei wieder öffnen "Schreibgeschützt" (intPfad)
    Set ModelDoc = swApp.OpenDoc6(intPfad, doctype, swOpenDocOptions_Silent + swOpenDocOptions_ReadOnly, "", openerrors, openwarnings)
End Sub



Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de
Stefans SolidWorks Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

currie
Mitglied
Betriebsmittelkonstrukteur


Sehen Sie sich das Profil von currie an!   Senden Sie eine Private Message an currie  Schreiben Sie einen Gästebucheintrag für currie

Beiträge: 83
Registriert: 10.03.2005

WIN10 / SWX2020

erstellt am: 02. Feb. 2011 11:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Stefan

Erstmal vielen Dank, jetzt geht es einwand frei.
Ich muss zugeben, dass ich in der API Hilfe nicht alles durchsucht habe. Irgend wie komme ich mit dieser Hilfe nicht so ganz zurecht.

Zudem weis man ja dass hier im Forum so ein Problemchen sehr schnell gelöst wird, nicht dass ich zu Faul bin aber wenn man das im Hinterkopf hat gibt mann doch etwas schneller auf beim suchen.

Zudem können andere User den Code eventuell auch gebrauchen.

Danke Currie

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz