Passwort per VBA setzen

05/03/2008 - 12:55 von Frank Treichler | Report spam
Hallo,

Mitte Februar hatte mir Thomas Gahler bei einem Problem geholfen - es
ging darum, das bei Eingabe in einem Formularfeld (in WORD XP) ein
Umbruch erzeugt werden soll - die untenstehende Lösung hat tadellos
funktioniert - noch mal Danke an Thomas!!

Nun soll aber ein Passwort für die Datei vergeben werden und lediglich
die Formulareingabe soll möglich sein.

In dem Makro wird allerdings der Schutz kurz aufgehoben - was bei einem
passwortgeschützten Dokument nicht mehr funktioniert.

Gibt es dafür auch eine Lösung??

Ich würde mich sehr über hilfreiche Tipps freuen.

Gruß
Frank


Hier das Listing von Thomas:
Sub Demo1()
Dim doc As Word.Document
Dim rng As Word.Range

Set doc = ActiveDocument
Set rng = Selection.Paragraphs(1).Range

If Not Len(Trim$(rng.FormFields(1).Result)) = 0 Then
doc.Unprotect

rng.SetRange _
Start:=rng.Paragraphs(1).Range.Start, _
End:=rng.Paragraphs(1).Range.FormFields(1).Range.Start

rng.InsertAfter vbVerticalTab

doc.Protect _
Type:=wdAllowOnlyFormFields, _
NoReset:=True
End If
End Sub
 

Lesen sie die antworten

#1 Thomas Gahler
05/03/2008 - 14:18 | Warnen spam
Hallo Frank



Gibt es dafür auch eine Lösung??


Du kannst das Passort im Code hinterlegen.


Du musst folgende Zeilen erweitern

doc.Unprotect


doc.Unprotect Password:="xxx"

doc.Protect _
Type:=wdAllowOnlyFormFields, _
NoReset:=True


doc.Protect _
Type:=wdAllowOnlyFormFields, _
NoReset:=True, _
Password:="xxx"





Thomas Gahler
MVP für WordVBA
Co-Autor von »Microsoft Word-Programmierung.
Das Handbuch« (MS Press)


- Windows XP (SP2), Office XP (SP3)

Ähnliche fragen