Hi!
Ich habe ein Dokument in 3 Abschnitte geteilt und schütze Abschnitt 1 + 3. Per Code kann ich den Schutz deaktivieren und aktivieren. Leider befindet sich die Kopfzeile in Abschnitt 1 und bleibt gesperrt - auch wenn ich den Schutz per Code ausschalte. Weiß jemand, ob und wie ich den Schutz der Kopfzeile aufheben und wieder aktivieren kann?
Hallo
Wie sieht der Code denn jetzt aus? - Es gibt keine Methode, um speziell Kopf- und Fusszeilen zu schützen.
Gegen was sind die Abschnitte geschützt? - Formular, Überarbeitung Kommentare?
Gruss
S. Widmer
Am besten beschreib ich mal etwas näher, was es können soll…
Das ganze ist eine automatisierte Vorlage in Verbindung mit einer Access-Datenbank. Per Datenbank werden bestimmte Elemente (Adresse, Logo usw.) ausgewählt und in das Dokument eingefügt. Der User soll keine Möglichkeit haben, die eigefügten Elemente zu editieren. Es kann lediglich freier Text in einem bestimmten Bereich eigefügt werden.
Das Logo befindet sich in der Kopfzeile und wird mittels einer Bookmark eingefügt. Wird die Datenbank erneut aus dem Dokument geöffnet, lösche ich die Bookmark, füge eine neue ein und setze das aktuell gewählte Logo an diese Stelle. Und genau da ist der Knackpunkt: Per Code
„activedocument.Section(1).ProtectedForForms“
kann ich zwar den Schutz für den ersten Abschnitt im Dokument aufheben aber die Kopfzeile bleibt geschützt - ergo fliegt mir das Ganze beim Löschen der Bookmark um die Ohren. Ist aber notwendig, sonst wird ein weiteres Bild eingefügt, un nicht das alte ersetzt.
Gibt’s da 'nen Tip?
Danke im voraus
Thomas
hello again
Wie schon erwähnt, Word kennt keine besondere Methode um die Kopfzeile zu schützen. Da bin ich mir doch sehr sicher.
Experimentieren Sie mit folgender Code. Er setzt, nachdem der Schutz in alle Abschnitte des Formulars aufgehoben wurde, eine Meldung in die Kopfzeile. Anschliessend wir der Schutz wieder gesetzt:
Gruss
S. Widmer
Sub TestI()
If ActiveDocument.ProtectionType >= 0 Then
For i = 1 To ActiveDocument.Sections.Count
ActiveDocument.Sections(i).ProtectedForForms = False
Next i
ActiveDocument.Unprotect
End If
ActiveDocument.Sections(1).Headers(1).Range.Text = „Hallo Welt“
'Ihr Code
For i = 1 To ActiveDocument.Sections.Count
ActiveDocument.Sections(i).ProtectedForForms = True
Next i
ActiveDocument.Protect Type:=wdAllowOnlyFormFields
End Sub