Problem mit Dokumentschutz

16/06/2008 - 10:49 von Dietmar Feuerer | Report spam
Hallo,
nach langer Zeit habe ich ein kleines Problem mit Dokumentschutz (Word97).
Von einem Makro wird ein Dokument (Tabelle) geschrieben. Am Ende des Codes
rufe ich das Modul "DokuSchutz" mit Application.Run auf. Sein Code lautet:

Sub DokuSchutz()
On Error Resume Next
ActiveDocument.Unprotect
ActiveDocument.Protect Password:="test", _
NoReset:=False, Type:=wdAllowOnlyFormFields
MsgBox "Du kannst das Formblatt jetzt ausdrucken!"
End Sub

Obwohl ich mit ".unprotect" ausdrücklich den Dokumentschutz zuvor aufhebe,
erhalte ich die Fehlermeldung: Laufzeitfehler 4605 Die
CopyStylesFromTemplate-Methode ist nicht verfügbar, weil das Dokument
geschützt ist.

Beim erneuten Makroaufruf tritt die Fehlermeldung nicht mehr auf, sondern
nur beim ersten Mal, nachdem Word97 geladen wurde.

danke für eure Hilfe und
viele Grüße aus der Oberpfalz
Dietmar
 

Lesen sie die antworten

#1 lisa
16/06/2008 - 11:37 | Warnen spam
Hallo Dietmar,

zwei Sachen fallen mir dabei auf. Möglicherweise ist das Dokument
vorher auch mit Kennwort geschützt, dann müsste das Kennwort beim
Aufheben des Schutzes mit angegeben werden. Weiter sollte man immer
den Status testen, also ob das Dokument wirklich geschützt ist, um
einen Laufzeitfehler zu vermeiden. Könnte etwa so aussehen:
<Code>Sub DokuSchutz()

If ActiveDocument.ProtectionType = wdAllowOnlyFormFields Then
ActiveDocument.Unprotect
' ActiveDocument.Unprotect Password:="test"
End If
ActiveDocument.Protect Password:="test", _
NoReset:=False, Type:=wdAllowOnlyFormFields
MsgBox "Du kannst das Formblatt jetzt ausdrucken!"

End Sub</Code>

Die Zeile mit dem Passwort natürlich nur verwenden, falls nötig.

Gruß Lisa
_____

http://www.schreibbuero-richter.de

Ähnliche fragen