| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| FACTORY OF THE FUTURE - Von der traditionellen Fertigung zur vernetzten Fabrik |
Autor
|
Thema: Schreibschutz der Datei mit Makro entfernen (2255 mal gelesen)
|
oma1 Mitglied designer
Beiträge: 131 Registriert: 22.03.2005 SW 2007 SP 3.4<P>Windows XP SP2<P>DELL Precision M65 Intel Core 2 2Ghz 2GB RAM
|
erstellt am: 05. Sep. 2006 07:06 <-- editieren / zitieren --> Unities abgeben:
Hi, ICh versuche schin seit einiger Zeit beim Speichern mit einem Macro den Schriebschutz der Datei zu entfernen. ICh brings aber nicht auf dei reihe. Wisst ihr da was Danke CHristoph ------------------ cma Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 05. Sep. 2006 07:20 <-- editieren / zitieren --> Unities abgeben: Nur für oma1
|
Kalle Mitglied Student
Beiträge: 706 Registriert: 14.04.2002
|
erstellt am: 05. Sep. 2006 07:23 <-- editieren / zitieren --> Unities abgeben: Nur für oma1
Aheu Christoph, sitzt Dein Schreibschutz im Dateisystem oder macht SolidWorks die Datei nur schreibgeschützt auf? Bis dann, Kalle ------------------ ----------------------------------------- Es gibt immer mehr Lösungen als Probleme. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oma1 Mitglied designer
Beiträge: 131 Registriert: 22.03.2005 SW 2007 SP 3.4<P>Windows XP SP2<P>DELL Precision M65 Intel Core 2 2Ghz 2GB RAM
|
erstellt am: 05. Sep. 2006 07:29 <-- editieren / zitieren --> Unities abgeben:
Es ist nur im Explorer mit rechtsklick der Hacken Schriebschutz gesetzt. Deiser Hacken soll vor dem Speichern der gerade offenen Solidworkszeichnung vom zugehörigen DWG dokument mit der gleichen nummer im gleichen Ordner wieder herausgenommmen werden. Sprich die Slddrw zeichung ist ohne Schreibschutz, die DWG mit Schreibschutz. Der Schriebschutz des DWG soll weggenommen werden. ------------------ cma Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 05. Sep. 2006 08:02 <-- editieren / zitieren --> Unities abgeben: Nur für oma1
Hi, Call filesystem.SetAttr("C:\test.sldprt",vbNormal) entfernt den Schreibschutz, achte nur darauf das die Datei nicht geöffnet ist. Gruß Micha
------------------ http://classicvb.org/petition/ Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oma1 Mitglied designer
Beiträge: 131 Registriert: 22.03.2005 SW 2007 SP 3.4<P>Windows XP SP2<P>DELL Precision M65 Intel Core 2 2Ghz 2GB RAM
|
erstellt am: 05. Sep. 2006 08:10 <-- editieren / zitieren --> Unities abgeben:
|
Ralf Tide Moderator -
Beiträge: 4978 Registriert: 06.08.2001 Sehr seltsame Dinge passiern <Klaus Lage - Toy Story> .-)
|
erstellt am: 05. Sep. 2006 08:15 <-- editieren / zitieren --> Unities abgeben: Nur für oma1
|
VBSpawn Mitglied Programmierer
Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 05. Sep. 2006 08:42 <-- editieren / zitieren --> Unities abgeben: Nur für oma1
Zitat: Original erstellt von oma1: Danke schon mal, aber wie mache ich es, dass er mir den Namen der offenen Zeichnung ausliest, und dann das slddrw abschneidet, und dwg ranhängt ??
Hallo mal wieder ... If Not Application.SldWorks.ActiveDoc Is Nothing Then If Application.SldWorks.ActiveDoc.GetType = 3 Then Debug.Print Replace(LCase(Application.SldWorks.ActiveDoc.GetPathName), ".slddrw", ".dwg") Else Debug.Print "Kein Drawing" End If End If Gruß Micha ------------------ http://classicvb.org/petition/ Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oma1 Mitglied designer
Beiträge: 131 Registriert: 22.03.2005 SW 2007 SP 3.4<P>Windows XP SP2<P>DELL Precision M65 Intel Core 2 2Ghz 2GB RAM
|
erstellt am: 05. Sep. 2006 14:20 <-- editieren / zitieren --> Unities abgeben:
Ich bin heute wie vor den Kopf gestoßen!!! Wie kombiniere ich dann das auslesen mit dem macroteil: On Local Error Resume Next Attr = GetAttr(sFilename) If Err <> 0 Then 'Datei nicht gefunden SchreibschutzEntfernen = False Else Attr = (Attr And Not vbReadOnly) SetAttr sFilename, Attr DoEvents 'Prüfen, ob Schreibschutz entfernt Attr = GetAttr(sFilename) SchreibschutzEntfernen = Not (Attr And vbReadOnly) End If On Local Error GoTo 0 Ich muss ja dann anstatt sFilename dann denn ausgelesenen Wert eintragen, oder ???
------------------ cma Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 05. Sep. 2006 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für oma1
Hi, das hier dürfte eigentlich vollkommen ausreichen Dim sFilename As String Dim attr As VbFileAttribute sFilename = "C:\Zeichnung2.idw" '--------------------------------------- 'Fileexists On Error Resume Next attr = FileSystem.GetAttr(sFilename) If Err.Number = 53 Then 'Datei nicht gefunden Exit Sub ElseIf Err.Number <> 0 Then 'Fehler ?? Exit Sub ElseIf Err.Number = 0 Then 'Kein Fehler 'Datei Verzeichniss ist vorhanden End If On Error GoTo 0 '--------------------------------------- attr = FileSystem.GetAttr(sFilename) If CBool(attr And vbReadOnly) = True Then 'Schreibgeschüzte Datei SetAttr sFilename, vbNormal Else 'Datei ist nicht Schreibgeschützt End If Gruß Micha ------------------ http://classicvb.org/petition/ Zitat: Interpunktion und Orthographie des Postings sind frei erfunden. Eine Übereinstimmung mit aktuellen oder ehemaligen Regeln wäre rein zufällig und ist nicht beabsichtigt.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
oma1 Mitglied designer
Beiträge: 131 Registriert: 22.03.2005 SW 2007 SP 3.4<P>Windows XP SP2<P>DELL Precision M65 Intel Core 2 2Ghz 2GB RAM
|
erstellt am: 06. Sep. 2006 06:46 <-- editieren / zitieren --> Unities abgeben:
Aber wenn ich das richtig deute, muss ich in das Macro ja den Filenamen manuell eingeben, oder ??? Das will ich ja vermwiden. Das Macro soll mir von der Zeichnung, die gerade offen ist, die dwg mit dem gleichen Namen und am gleichen Platz vom Schreibschutz entfernen. Sprich Namen der Zeichnung auslesen, in dwg ändern, und schriebschutz entfernen. Mehr wär e snicht, aber ich bekomme es nicht gebacken !!! ------------------ cma Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
VBSpawn Mitglied Programmierer
Beiträge: 514 Registriert: 23.08.2005 Sorgfältige Planung ersetzt niemals pures Glück.
|
erstellt am: 06. Sep. 2006 07:26 <-- editieren / zitieren --> Unities abgeben: Nur für oma1
|
| Konstrukteur (m/w/d) Maschinen- und Anlagenbau | Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Mitarbeitende:n für einen unserer Kunden. Wir realisieren spannende Projekte für namhafte Kunden in allen Technologiebereichen und für alle Branchen und überzeugen täglich mit fundierter Expertise und fachlichem Know-how.... | Anzeige ansehen | Maschinenbau |
|
tbd Mitglied Teamleiter
Beiträge: 825 Registriert: 26.01.2006 Dell Percision T5400 Intel(R) Xeon(R) CPU X5460 @ 3.16GHz 3,25 GB RAM Nvidia Quadro FX 4600 ----- Win XP Prof SP 3 SW 2008 SP 5.0 PARTsolutions 8.1.08 Cideon SAP PLM 5.103.5.17 Visual Studio 2008
|
erstellt am: 06. Sep. 2006 07:26 <-- editieren / zitieren --> Unities abgeben: Nur für oma1
Den Namen der Zeichnung bekommst du so! Dim SwApp as sldworks.sldworks Dim SwModel as sldworks.modeldoc2 Dim sZeichnungsPfad as String dim sZeichnungsName as String SwApp = GetObject(, "SldWorks.Application") SwModel = oSwApp.ActiveDoc 'Nur bei Zeichnung If SwModel.GetType = SwConst.swDocumentTypes_e.swDocDRAWING Then sZeichnungsPfad = oSwModel.GetPathName sZeichnungsName = _ System.IO.Path.GetFileNameWithoutExtension(zeichnungspfad) End If Ist halt .net code, aber ich hoffe dir ist klar wir man den Speicherpfad eines Model ermittelt. wenn du mit einer anderen Sprach unterwegs bist, musst du nur den Pfad anders auschlüsseln indem du z.B. nach \ oder der Extension im String suchst!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |