Schützen von Teilen von Dokumenten mithilfe von Inhaltssteuerelementen
Wenn Sie einen Teil eines Dokuments schützen, verhindern Sie, dass Benutzer Inhalte in diesem Teil des Dokuments ändern oder löschen. Es gibt mehrere Möglichkeiten, Teile eines Microsoft Office Word-Dokuments mithilfe von Inhaltssteuerelementen zu schützen.
Sie können ein Inhaltssteuerelement schützen.
Sie können einen Teil eines Dokuments schützen, der nicht in einem Inhaltssteuerelement enthalten ist.
Gilt für: Die Informationen in diesem Thema gelten für Projekte auf Dokumentebene und VSTO-Add-In-Projekte für Word. Weitere Informationen finden Sie unter features available by Office-App lication and project type.
Schützen eines Inhaltssteuerelements
Sie können verhindern, dass Benutzer ein Inhaltssteuerelement bearbeiten oder löschen, indem Sie Eigenschaften des Steuerelements in einem Projekt auf Dokumentebene zur Entwurfszeit oder zur Laufzeit festlegen.
Sie können auch Inhaltssteuerelemente schützen, die Sie einem Dokument zur Laufzeit hinzufügen, indem Sie ein VSTO-Add-In-Projekt verwenden. Weitere Informationen finden Sie unter How to: Add content controls to Word documents.
So schützen Sie ein Inhaltssteuerelement zur Entwurfszeit
Wählen Sie im Dokument, das im Visual Studio-Designer gehostet wird, das Inhaltssteuerelement aus, das Sie schützen möchten.
Legen Sie im Eigenschaftenfenster eine oder beide der folgenden Eigenschaften fest:
Um zu verhindern, dass Benutzer das Steuerelement bearbeiten, legen Sie LockContents auf True fest.
Um zu verhindern, dass Benutzer das Steuerelement löschen, legen Sie LockContentControl auf True fest.
Klicken Sie auf OK.
So schützen Sie ein Inhaltssteuerelement zur Laufzeit
Legen Sie die
LockContents
Eigenschaft des Inhaltssteuerelements auf "true " fest, um zu verhindern, dass Benutzer das Steuerelement bearbeiten, und legen Sie dieLockContentControl
Eigenschaft auf "true " fest, um zu verhindern, dass Benutzer das Steuerelement löschen.Das folgende Codebeispiel veranschaulicht die Verwendung der LockContents-Eigenschaft und LockContentControl-Eigenschaft zwei verschiedener RichTextContentControl-Objekte in einem Projekt auf Dokumentebene. Um diesen Code auszuführen, fügen Sie ihn der
ThisDocument
-Klasse in Ihrem Projekt hinzu und rufen dieAddProtectedContentControls
-Methode aus demThisDocument_Startup
-Ereignishandler auf.private Microsoft.Office.Tools.Word.RichTextContentControl deletableControl; private Microsoft.Office.Tools.Word.RichTextContentControl editableControl; private void AddProtectedContentControls() { this.Paragraphs[1].Range.InsertParagraphBefore(); Word.Range range1 = this.Paragraphs[1].Range; deletableControl = this.Controls.AddRichTextContentControl(range1, "deletableControl"); deletableControl.PlaceholderText = "You can delete this control, " + "but you cannot edit it"; deletableControl.LockContents = true; range1.InsertParagraphAfter(); Word.Range range2 = this.Paragraphs[2].Range; editableControl = this.Controls.AddRichTextContentControl(range2, "editableControl"); editableControl.PlaceholderText = "You can edit this control, " + "but you cannot delete it"; editableControl.LockContentControl = true; }
Das folgende Codebeispiel veranschaulicht die Verwendung der LockContents-Eigenschaft und LockContentControl-Eigenschaft zwei verschiedener RichTextContentControl-Objekte in einem VSTO-Add-In-Projekt. Um diesen Code auszuführen, fügen Sie ihn der
ThisAddIn
-Klasse in Ihrem Projekt hinzu und rufen dieAddProtectedContentControls
-Methode aus demThisAddIn_Startup
-Ereignishandler auf.private Microsoft.Office.Tools.Word.RichTextContentControl deletableControl; private Microsoft.Office.Tools.Word.RichTextContentControl editableControl; private void AddProtectedContentControls() { Microsoft.Office.Tools.Word.Document vstoDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument); vstoDocument.Paragraphs[1].Range.InsertParagraphBefore(); Word.Range range1 = vstoDocument.Paragraphs[1].Range; deletableControl = vstoDocument.Controls.AddRichTextContentControl(range1, "deletableControl"); deletableControl.PlaceholderText = "You can delete this control, " + "but you cannot edit it"; deletableControl.LockContents = true; range1.InsertParagraphAfter(); Word.Range range2 = vstoDocument.Paragraphs[2].Range; editableControl = vstoDocument.Controls.AddRichTextContentControl(range2, "editableControl"); editableControl.PlaceholderText = "You can edit this control, " + "but you cannot delete it."; editableControl.LockContentControl = true; }
Schützen eines Teils eines Dokuments, das sich nicht in einem Inhaltssteuerelement befindet
Sie können verhindern, dass Benutzer einen Bereich eines Dokuments ändern, indem Sie ihn in GroupContentControl einfügen. Dies ist in den folgenden Szenarien nützlich:
Sie möchten einen Bereich schützen, der keine Inhaltssteuerelemente enthält.
Sie möchten einen Bereich schützen, der bereits Inhaltssteuerelemente enthält, während der Text oder andere Elemente, die Sie schützen möchten, nicht in den Inhaltssteuerelementen enthalten sind.
Hinweis
Wenn Sie ein GroupContentControl erstellen, das eingebettete Inhaltssteuerelemente enthält, sind die eingebetteten Inhaltssteuerelemente nicht automatisch geschützt. Um zu verhindern, dass Benutzer ein eingebettetes Inhaltssteuerelement bearbeiten, verwenden Sie die LockContents-Eigenschaft des Steuerelements .
So schützen Sie einen Bereich eines Dokuments zur Entwurfszeit
Wählen Sie im Dokument, das im Visual Studio-Designer gehostet wird, den Bereich aus, den Sie schützen möchten.
Klicken Sie im Menüband auf die Registerkarte Entwickler .
Hinweis
Wenn die Registerkarte Entwickler nicht sichtbar ist, müssen Sie diese zuerst anzeigen. Weitere Informationen finden Sie unter How to: Show the developer tab on the ribbon.
Klicken Sie in der Gruppe "Steuerelemente " auf die Dropdownschaltfläche "Gruppe " und dann auf "Gruppieren".
In der
ThisDocument
-Klasse in Ihrem Projekt wird automatisch ein GroupContentControl generiert, das den geschützten Bereich enthält. Ein Rahmen, der das Gruppensteuerelement darstellt, ist zur Entwurfszeit sichtbar, aber zur Laufzeit ist kein sichtbarer Rahmen vorhanden.
So schützen Sie einen Bereich eines Dokuments zur Laufzeit
Wählen Sie den zu schützenden Bereich programmgesteuert aus, und rufen Sie dann die AddGroupContentControl-Methode auf, um GroupContentControl zu erstellen.
Im folgenden Codebeispiel für ein Projekt auf Dokumentebene wird dem ersten Absatz des Dokuments Text hinzugefügt, der erste Absatz ausgewählt und dann GroupContentControl instanziiert. Um diesen Code auszuführen, fügen Sie ihn der
ThisDocument
-Klasse in Ihrem Projekt hinzu und rufen dieProtectFirstParagraph
-Methode aus demThisDocument_Startup
-Ereignishandler auf.private Microsoft.Office.Tools.Word.GroupContentControl groupControl1; private void ProtectFirstParagraph() { this.Paragraphs[1].Range.InsertParagraphBefore(); Word.Range range1 = this.Paragraphs[1].Range; range1.Text = "You cannot edit or change the formatting of text " + "in this sentence, because this sentence is in a GroupContentControl."; range1.Select(); groupControl1 = this.Controls.AddGroupContentControl("groupControl1"); }
Im folgenden Codebeispiel für ein VSTO-Add-In-Projekt wird dem ersten Absatz des aktiven Dokuments Text hinzugefügt, der erste Absatz ausgewählt und dann GroupContentControl instanziiert. Um diesen Code auszuführen, fügen Sie ihn der
ThisAddIn
-Klasse in Ihrem Projekt hinzu und rufen dieProtectFirstParagraph
-Methode aus demThisAddIn_Startup
-Ereignishandler auf.private Microsoft.Office.Tools.Word.GroupContentControl groupControl1; private void ProtectFirstParagraph() { Microsoft.Office.Tools.Word.Document vstoDocument = Globals.Factory.GetVstoObject(this.Application.ActiveDocument); vstoDocument.Paragraphs[1].Range.InsertParagraphBefore(); Word.Range range1 = vstoDocument.Paragraphs[1].Range; range1.Text = "You cannot edit or change the formatting of text " + "in this sentence, because this sentence is in a GroupContentControl."; range1.Select(); groupControl1 = vstoDocument.Controls.AddGroupContentControl("groupControl1"); }
Zugehöriger Inhalt
- Automatisieren von Word mithilfe erweiterter Objekte
- Inhaltssteuerelemente
- Vorgehensweise: Hinzufügen von Inhaltssteuerelementen zu Word-Dokumenten
- Übersicht über Hostelemente und Hoststeuerelemente
- Programmgesteuerte Einschränkungen von Hostelementen und Hoststeuerelementen
- Hinzufügen von Steuerelementen zu Office-Dokumenten zur Laufzeit