Discussion:
Schreibschutz aufheben
(zu alt für eine Antwort)
dietmar feuerer
2004-06-02 07:49:14 UTC
Permalink
Hallo,

ich möchte mittels VBA den Schreibschutz einer Vorlage beim
Öffnen aufheben, falls diese schreibgeschützt ist. In der
Hilfe finde ich nur den Hinweis auf Attribut aufheben, aber
keine Erläuterung, ob und wie es geht.

Funktioniert es überhaupt?
Vielen Dank für Euere Hilfe!

Gruß,
Dietmar
Thomas Gahler
2004-06-02 11:16:18 UTC
Permalink
Hallo dietmar
Post by dietmar feuerer
ich möchte mittels VBA den Schreibschutz einer Vorlage beim
Öffnen aufheben, falls diese schreibgeschützt ist.
Eigentlich ist es egal ob es sich um eine Vorlage oder um ein Dokument
handelt.

Sub AutoOpen() 'ungetestet
If ActiveDocument.ProtectionType = wdNoProtection Then
ActiveDocument.unprotect
endif
end sub
Post by dietmar feuerer
Funktioniert es überhaupt?
Wenn es kein Passwort hat schon ;-)





--
Thomas Gahler
MVP für WordVBA

- Windows XP (SP1), Office XP (SP3)
dietmar feuerer
2004-06-02 13:30:46 UTC
Permalink
Hallo Thomas,

vielen Dank für deine Hilfe. Müßte es aber nicht statt
Post by Thomas Gahler
If ActiveDocument.ProtectionType = wdNoProtection Then
If ActiveDocument.ProtectionType <> wdNoProtection Then
Post by Thomas Gahler
ActiveDocument.unprotect
heißen. Die Vorlagen lassen sich zwar in VBA öffnen; eine
Änderung läßt sich aber wegen des weiter bestehenden
Schreibschutzes nicht speichern.

Gruß,
Dietmar
Thomas Gahler
2004-06-02 13:47:13 UTC
Permalink
Hallo dietmar
Post by dietmar feuerer
If ActiveDocument.ProtectionType <> wdNoProtection Then
Sicher schon, war mit Copy/Paste aus der Hilfe ausgeschnitten und da ging
das 'Not' bzw. '<>' vergessen .
Zum Glück habe ich ungetestet geschrieben.
Post by dietmar feuerer
Die Vorlagen lassen sich zwar in VBA öffnen; eine
Änderung läßt sich aber wegen des weiter bestehenden
Schreibschutzes nicht speichern.
Was meinst du da genau? Machst du die Vorlage auf, oder erzeugst du ein
neues Dokument auf der Basis der Vorlage.
Wird das Makro überhaupt ausfgeführt (zur Kontrolle Msgbox einbauen).




--
Thomas Gahler
MVP für WordVBA

- Windows XP (SP1), Office XP (SP3)
dietmar feuerer
2004-06-03 06:47:13 UTC
Permalink
Hallo Thomas,

die dot-Dateien liegen mit Schreibschutz auf einem Server.
Wenn ich an einem Makro etwas verändern will, muß ich erst
den Schreibschutz über den Explorer ausheben, dann die
Datei in Word laden, Änderung vornehmen und sie
schreibgeschützt wieder speichern.

Das Makro funktioniert insoweit als sich die Projektdatei
in VBA öffnen und sich die Makros bearbeiten lassen, es
wieder aber nicht der Schreibschutz aufgehoben. Anscheinend
ist "NoProtection" weniger als Schreibschutz.
Ich glaube, nachd den Hinweisen in der Hilfe bezieht es
sich auf den Schreibschutz in VBA; man kann ja die
Projekt-Dateien dort auch mit einem Kennwort schützen.

Gruß,
Dietmar
-----Originalnachricht-----
Hallo dietmar
Post by dietmar feuerer
If ActiveDocument.ProtectionType <> wdNoProtection Then
Sicher schon, war mit Copy/Paste aus der Hilfe
ausgeschnitten und da ging
das 'Not' bzw. '<>' vergessen .
Zum Glück habe ich ungetestet geschrieben.
Post by dietmar feuerer
Die Vorlagen lassen sich zwar in VBA öffnen; eine
Änderung läßt sich aber wegen des weiter bestehenden
Schreibschutzes nicht speichern.
Was meinst du da genau? Machst du die Vorlage auf, oder
erzeugst du ein
neues Dokument auf der Basis der Vorlage.
Wird das Makro überhaupt ausfgeführt (zur Kontrolle Msgbox
einbauen).
--
Thomas Gahler
MVP für WordVBA
- Windows XP (SP1), Office XP (SP3)
.
Christian Freßdorf
2004-06-03 07:21:08 UTC
Permalink
Hallo Dietmar,
Post by dietmar feuerer
die dot-Dateien liegen mit Schreibschutz auf einem Server.
also mit dem Dateiattribut, das ist was anderes als das von THomas
angesprochende Dokument-Schutz-Attribut.

Wenn der Server das zulässt, solltest Du mit Attribute (Hilfe-Thema:
Attributes-Eigenschaft oder auch SetAttr-Anweisung) den Schreibschutz
kurzfristig aufheben können.

Ungetestet:
SetAttr Macrocontainer.Fullname, vbNormal

mal wieder TOFU entsorgt, bitte gewöhn Dir das auch an...
--
Gruß Christian
~~~~~~~~~~~~
Antworten / Rückmeldungen nur in die NG!
http://www.mvps.org/word/FindHelp/Posting.htm
http://support.microsoft.com/default.aspx?scid=fh;DE;NGNetikette
dietmar feuerer
2004-06-03 11:12:00 UTC
Permalink
Hallo Christian,

das mit dem Schreibschutz aufheben funktioniert; umgekehrt
mit Schreibschutz versehen

SetAttr "2004-DivMakro1.dot", vbReadOnly

auch. Kontrollen über Dateieigenschaft sind erfolgt.

Ich kann aber nach wie vor nicht die Datei speichern; es
steht immer noch hinter der dot-Vorlage in Klammen
(Schreibgeschützt) und beim Speichern-Dialog kommt einer
entsprechender Hinweis, dass nicht gespeichert werden kann,
obwohl lt. Dateieigenschaft kein Schreibschutz besteht.

Ich habe die Datei darauf ohne Speichern geschlossen und
neu geöffnet. Obwohl weiterhin die Datei in
Dateieigenschaft keinen Schreibschutz anzeigt, öffnet Word
sie wieder mit dem Vermerk (Schreibgeschützt).

Auch wenn ich manuell Schreibschutz zuordne bzw. aufhebe,
bleibt die Datei immer schreibgeschützt.

Gruß,
Dietmar
-----Originalnachricht-----
Hallo Dietmar,
Post by dietmar feuerer
die dot-Dateien liegen mit Schreibschutz auf einem Server.
also mit dem Dateiattribut, das ist was anderes als das
von THomas
angesprochende Dokument-Schutz-Attribut.
Wenn der Server das zulässt, solltest Du mit Attribute
Attributes-Eigenschaft oder auch SetAttr-Anweisung) den
Schreibschutz
kurzfristig aufheben können.
SetAttr Macrocontainer.Fullname, vbNormal
mal wieder TOFU entsorgt, bitte gewöhn Dir das auch an...
--
Gruß Christian
~~~~~~~~~~~~
Antworten / Rückmeldungen nur in die NG!
http://www.mvps.org/word/FindHelp/Posting.htm
http://support.microsoft.com/default.aspx?scid=fh;DE;NGNetikette
.
Christian Freßdorf
2004-06-03 11:32:10 UTC
Permalink
Tach,
Post by dietmar feuerer
Hallo Christian,
das mit dem Schreibschutz aufheben funktioniert; umgekehrt
mit Schreibschutz versehen
SetAttr "2004-DivMakro1.dot", vbReadOnly
auch. Kontrollen über Dateieigenschaft sind erfolgt.
Ich kann aber nach wie vor nicht die Datei speichern; es
steht immer noch hinter der dot-Vorlage in Klammen
(Schreibgeschützt) und beim Speichern-Dialog kommt einer
entsprechender Hinweis, dass nicht gespeichert werden kann,
obwohl lt. Dateieigenschaft kein Schreibschutz besteht.
Ich habe die Datei darauf ohne Speichern geschlossen und
neu geöffnet. Obwohl weiterhin die Datei in
Dateieigenschaft keinen Schreibschutz anzeigt, öffnet Word
sie wieder mit dem Vermerk (Schreibgeschützt).
Auch wenn ich manuell Schreibschutz zuordne bzw. aufhebe,
bleibt die Datei immer schreibgeschützt.
Gruß,
Dietmar
-----Originalnachricht-----
Hallo Dietmar,
Post by dietmar feuerer
die dot-Dateien liegen mit Schreibschutz auf einem Server.
also mit dem Dateiattribut, das ist was anderes als das
von THomas
angesprochende Dokument-Schutz-Attribut.
Wenn der Server das zulässt, solltest Du mit Attribute
Attributes-Eigenschaft oder auch SetAttr-Anweisung) den
Schreibschutz
kurzfristig aufheben können.
SetAttr Macrocontainer.Fullname, vbNormal
mal wieder TOFU entsorgt, bitte gewöhn Dir das auch an...
--
Gruß Christian
~~~~~~~~~~~~
Antworten / Rückmeldungen nur in die NG!
http://www.mvps.org/word/FindHelp/Posting.htm
http://support.microsoft.com/default.aspx?scid=fh;DE;NGNetikette
.
doch, das geht - gerade mit einer entsprechenden datei, du musst nur
geschickt den SaveAs-befehl verwenden...

Gruß Christian
Thomas Gahler
2004-06-03 12:06:41 UTC
Permalink
Hallo dietmar
Post by dietmar feuerer
Ich kann aber nach wie vor nicht die Datei speichern; es
steht immer noch hinter der dot-Vorlage in Klammen
(Schreibgeschützt) und beim Speichern-Dialog kommt einer
entsprechender Hinweis, dass nicht gespeichert werden kann,
obwohl lt. Dateieigenschaft kein Schreibschutz besteht.
Falls du das Baron Münchhausenprinzip verwenden willst, dann wird das wohl
nicht so ganz klappen. Denn im Makro den Befehl haben, dass das
ReadOnly-Attributt entfernt wird und hoffen dass das Dokument dann plötzlich
nicht mehr von Word als schreibgeschützt angesehen wird ist schon ein
bisschen viel verlangt. (Aber mit 'Speichern unter' solltest du dann weiter
kommen.)
Post by dietmar feuerer
Ich habe die Datei darauf ohne Speichern geschlossen und
neu geöffnet. Obwohl weiterhin die Datei in
Dateieigenschaft keinen Schreibschutz anzeigt, öffnet Word
sie wieder mit dem Vermerk (Schreibgeschützt).
Also ich werde von Word gefragt, ob ich das Dokument wieder schreibgeschützt
öffnen will. Überden Dialog 'Öffnen' kann ich bestimmen wie ich es geöffnet
haben will und mit VBA gibt es einen Parameter
- Documents.Open xxxx.Doc ReadOnly:=False



--
Thomas Gahler
MVP für WordVBA

- Windows XP (SP1), Office XP (SP3)
dietmar feuerer
2004-06-03 13:33:54 UTC
Permalink
Hallo Thomas,
ich rufe die Datei auf mit

Sub EigeneMakroVorlageAufrufen
ChangeFileOpenDirectory "R:\RENOFLEX\STD_TXT\AUTOSTRT\"
Documents.Open FileName:="2004-DivMakro1.dot", ReadOnly:=False
'SetAttr "2004-DivMakro1.dot", vbNormal
'If ActiveDocument.ProtectionType <> wdNoProtection Then
'ActiveDocument.Unprotect
'End If
End Sub

ändere sie ab (lösche z.B. ein Makro)
und will sie dann speichern mit

Sub EigeneMakroVorlageSpeichern()
If ActiveDocument.Path = "" Then
EigeneMakroVorlageSpeichernUnter
Exit Sub
End If
ActiveDocument.Save
End Sub
Sub EigeneMakroVorlageSpeichernUnter()
Pfad = "R:\RENOFLEX\STD_TXT\AUTOSTRT"
With Dialogs(wdDialogFileSaveAs)
.Name = ActiveDocument.Name
.Show
End With
End Sub

Dann verweigert Word 97 mit der Begründung
"Die Datei ...konnte nicht gespeichert werden. Die Datei
besteht bereits und ist schreibgeschützt. Speichern Sie die
Datei unter anderem Namen oder in einem anderen Speicherort."

Gruß,
Dietmar
-----Originalnachricht-----
Hallo dietmar
Post by dietmar feuerer
Ich kann aber nach wie vor nicht die Datei speichern; es
steht immer noch hinter der dot-Vorlage in Klammen
(Schreibgeschützt) und beim Speichern-Dialog kommt einer
entsprechender Hinweis, dass nicht gespeichert werden kann,
obwohl lt. Dateieigenschaft kein Schreibschutz besteht.
Falls du das Baron Münchhausenprinzip verwenden willst,
dann wird das wohl
nicht so ganz klappen. Denn im Makro den Befehl haben,
dass das
ReadOnly-Attributt entfernt wird und hoffen dass das
Dokument dann plötzlich
nicht mehr von Word als schreibgeschützt angesehen wird
ist schon ein
bisschen viel verlangt. (Aber mit 'Speichern unter'
solltest du dann weiter
kommen.)
Post by dietmar feuerer
Ich habe die Datei darauf ohne Speichern geschlossen und
neu geöffnet. Obwohl weiterhin die Datei in
Dateieigenschaft keinen Schreibschutz anzeigt, öffnet Word
sie wieder mit dem Vermerk (Schreibgeschützt).
Also ich werde von Word gefragt, ob ich das Dokument
wieder schreibgeschützt
öffnen will. Überden Dialog 'Öffnen' kann ich bestimmen
wie ich es geöffnet
haben will und mit VBA gibt es einen Parameter
- Documents.Open xxxx.Doc ReadOnly:=False
--
Thomas Gahler
MVP für WordVBA
- Windows XP (SP1), Office XP (SP3)
.
Christian Freßdorf
2004-06-03 16:42:26 UTC
Permalink
Tach,
Post by dietmar feuerer
'SetAttr "2004-DivMakro1.dot", vbNormal
verwende den kompletten Pfad, ist sicherer!
Post by dietmar feuerer
Sub EigeneMakroVorlageSpeichernUnter()
Pfad = "R:\RENOFLEX\STD_TXT\AUTOSTRT"
With Dialogs(wdDialogFileSaveAs)
.Name = ActiveDocument.Name
.Show
End With
End Sub
ActiveDocument und die Dokumentvorlage sind in keinster Weise identisch.
Hatte Dir ja eine Lösung geschrieben.

Btw:
Da Du ja schon länger hier Hilfe bekommst, aber meine Hinweis bzgl.
TOFU ignorierst, landest Du vorläufig auf meiner Ignore-Liste.

Viel Spass den anderen...

Christian
dietmar feuerer
2004-06-04 09:03:01 UTC
Permalink
Hallo Christian,

tut mir leid, wenn ich dich verärgert habe; dein Tip war
zwar richtig, aber es fehlte die Info, das 'SetAttr' nur
bei einer nicht geöffneten Datei funktioniert.
Übrigens weiß ich nicht, was TOFU ist...

Jetzt klappts jedenfalls:
Öffnen und Schreibschutz aufheben:
Documents.Open
FileName:="R:\RENOFLEX\STD_TXT\AUTOSTRT\2004-DivMakro1.dot",
ReadOnly:=False

Speichern, Schließen und Schreibschutz setzen:
Documents("2004-DivMakro1.dot").Save
Documents("2004-DivMakro1.dot").Close
SetAttr
"R:\RENOFLEX\STD_TXT\AUTOSTRT\2004-DivMakro1.dot", vbReadOnly

Vielen für aller Hilfe!
Gruß,
Dietmar
-----Originalnachricht-----
Tach,
Post by dietmar feuerer
'SetAttr "2004-DivMakro1.dot", vbNormal
verwende den kompletten Pfad, ist sicherer!
Post by dietmar feuerer
Sub EigeneMakroVorlageSpeichernUnter()
Pfad = "R:\RENOFLEX\STD_TXT\AUTOSTRT"
With Dialogs(wdDialogFileSaveAs)
.Name = ActiveDocument.Name
.Show
End With
End Sub
ActiveDocument und die Dokumentvorlage sind in keinster
Weise identisch.
Hatte Dir ja eine Lösung geschrieben.
Da Du ja schon länger hier Hilfe bekommst, aber meine
Hinweis bzgl.
TOFU ignorierst, landest Du vorläufig auf meiner Ignore-Liste.
Viel Spass den anderen...
Christian
.
Christian Freßdorf
2004-06-04 09:14:52 UTC
Permalink
Hallo Dietmar,
Post by dietmar feuerer
Übrigens weiß ich nicht, was TOFU ist...
siehe
http://groups.google.de/groups?q=Dietmar+TOFU+Fre%C3%9Fdorf++group:microsoft.public.de.word.*&hl=de&lr=&ie=UTF-8&group=microsoft.public.de.word.*&selm=173f1ux4xen18%24.dlg%40zaphod-systems.de&rnum=2

http://learn.to/quote

Christian

Lesen Sie weiter auf narkive:
Loading...