Postupy: Ochrana částí dokumentů pomocí ovládacích prvků obsahu
Pokud uzamknete část dokumentu, můžete zabránit uživatelům v změna nebo odstranění obsahu v části dokumentu.Části dokumentu Microsoft Office Word můžete chránit pomocí ovládacích prvků obsahu několika způsoby:
Ovládací prvek obsahu můžete chránit.
Část dokumentu, která není v obsahu prvku lze chránit.
Platí pro: Informace v tomto tématu se vztahují na projekty na úrovni dokumentu i na úrovni aplikace ve Wordu 2013 a ve Wordu 2010. Další informace najdete v tématu Dostupné funkce podle aplikací systému Office a typů projektu.
Ochrana obsahu ovládacího prvku.
Můžete zabránit uživatelům úpravy nebo odstranění obsahu ovládacího prvku v době návrhu nebo za běhu nastavením vlastnosti ovládacího prvku v úrovni dokumentů projektu.
Můžete také chránit ovládací prvky, které přidáte do dokumentu za běhu pomocí projekt na úrovni aplikace.Další informace naleznete v tématu Postupy: Přidání ovládacích prvků obsahu do dokumentů aplikace Word.
K ochraně obsahu ovládacího prvku v době návrhu
V dokumentu, který je hostitelem v Visual Studio designer, vyberte ovládací prvek obsahu, který chcete chránit.
V Vlastnosti okno, nastavit jednu nebo obě následující vlastnosti:
Zabránit uživatelům úpravy ovládacího prvku, nastavte LockContents na True.
Zabránit uživatelům v odstranění ovládacího prvku nastavit LockContentControl na True.
Klikněte na tlačítko OK.
K ochraně obsahu ovládacího prvku za běhu
Nastavit LockContents vlastnost ovládacího prvku obsahu pro true uživatelům zabránit upravovat ovládací prvek a nastavte LockContentControl vlastnost true zabránit uživatelům v odstranění ovládacího prvku.
Následující příklad kódu ukazuje použití LockContents a LockContentControl dvou různých vlastností RichTextContentControl objekty v dokumentu úroveň projektu.Tento kód spustit, přidejte kód, který ThisDocument třídy v projektu a volání AddProtectedContentControls metody z ThisDocument_Startup obslužnou rutinu události.
Dim deletableControl As Microsoft.Office.Tools.Word.RichTextContentControl Dim editableControl As Microsoft.Office.Tools.Word.RichTextContentControl Private Sub AddProtectedContentControls() Me.Paragraphs(1).Range.InsertParagraphBefore() Dim range1 As Word.Range = Me.Paragraphs(1).Range deletableControl = Me.Controls.AddRichTextContentControl(range1, _ "deletableControl") deletableControl.PlaceholderText = "You can delete this control, " & _ "but you cannot edit it" deletableControl.LockContents = True range1.InsertParagraphAfter() Dim range2 As Word.Range = Me.Paragraphs(2).Range editableControl = Me.Controls.AddRichTextContentControl(range2, _ "editableControl") editableControl.PlaceholderText = "You can edit this control, " & _ "but you cannot delete it" editableControl.LockContentControl = True End Sub
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; }
Následující příklad kódu ukazuje použití LockContents a LockContentControl dvou různých vlastností RichTextContentControl objekty v projektu na úrovni aplikace.Tento kód spustit, přidejte kód, který ThisAddIn třídy v projektu a volání AddProtectedContentControls metody z ThisAddIn_Startup obslužnou rutinu události.
Dim deletableControl As Microsoft.Office.Tools.Word.RichTextContentControl Dim editableControl As Microsoft.Office.Tools.Word.RichTextContentControl Private Sub AddProtectedContentControls() Dim VstoDocument As Microsoft.Office.Tools.Word.Document = _ Globals.Factory.GetVstoObject(Me.Application.ActiveDocument) vstoDocument.Paragraphs(1).Range.InsertParagraphBefore() Dim range1 As Word.Range = 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() Dim range2 As Word.Range = 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 End Sub
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; }
Chrání část dokumentu, která není v obsahu prvku
Uživatelům můžete zabránit ve změně oblasti dokumentu vložením oblast GroupContentControl.To je užitečné v následujících situacích:
Chcete-li chránit oblast, která neobsahuje ovládací prvky obsahu.
Chcete chránit oblasti, která již obsahuje ovládací prvky obsahu, ale text nebo jiné položky, které chcete chránit nejsou ovládací prvky obsahu.
[!POZNÁMKA]
Pokud vytvoříte GroupContentControl , která obsahuje vložené ovládací prvky obsahu, nejsou automaticky chráněny vložené ovládací prvky obsahu.Zabránit uživatelům v úpravách vložený ovládací prvek obsahu, použijte LockContents vlastnost ovládacího prvku.
Chránit oblast dokumentu v době návrhu
V dokumentu, který je hostitelem v Visual Studio designer, vyberte oblast, kterou chcete chránit.
Na pásu karet klepněte Developer kartu.
[!POZNÁMKA]
Pokud Developer kartě není viditelná, musíte nejprve zobrazit.Další informace naleznete v tématu Postupy: Zobrazení karty Vývojář na pásu karet.
V prvky skupinu, klepněte skupiny rozevírací tlačítko a pak klepněte na skupiny.
A GroupContentControl , který obsahuje chráněné oblasti je automaticky generován v ThisDocument tříd v projektu.Okraj, který představuje prvek skupiny je zobrazen v době návrhu, ale je v době běhu žádné viditelné ohraničení.
Chránit oblast dokumentu za běhu
Programově vyberte oblast, kterou chcete chránit a poté zavolejte AddGroupContentControl metoda vytvořit GroupContentControl.
Následující příklad kódu pro úroveň dokumentů projekt přidá text prvního odstavce v dokumentu, vybere první odstavec a pak vytvoří GroupContentControl.Tento kód spustit, přidejte kód, který ThisDocument třídy v projektu a volání ProtectFirstParagraph metody z ThisDocument_Startup obslužnou rutinu události.
Dim groupControl1 As Microsoft.Office.Tools.Word.GroupContentControl Private Sub ProtectFirstParagraph() Me.Paragraphs(1).Range.InsertParagraphBefore() Dim range1 As Word.Range = Me.Paragraphs(1).Range range1.Text = "You cannot edit or change the formatting of text " & _ "in this paragraph, because this paragraph is in a GroupContentControl." range1.Select() groupControl1 = Me.Controls.AddGroupContentControl("groupControl1") End Sub
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"); }
Následující příklad kódu v projektu aplikace přidá text prvního odstavce v aktivním dokumentu vybere první odstavec a pak vytvoří GroupContentControl.Tento kód spustit, přidejte kód, který ThisAddIn třídy v projektu a volání ProtectFirstParagraph metody z ThisAddIn_Startup obslužnou rutinu události.
Dim groupControl1 As Microsoft.Office.Tools.Word.GroupContentControl Private Sub ProtectFirstParagraph() Dim VstoDocument As Microsoft.Office.Tools.Word.Document = _ Globals.Factory.GetVstoObject(Me.Application.ActiveDocument) VstoDocument.Paragraphs(1).Range.InsertParagraphBefore() Dim range1 As Word.Range = VstoDocument.Paragraphs(1).Range range1.Text = "You cannot edit or change the formatting of text " & _ "in this paragraph, because this paragraph is in a GroupContentControl." range1.Select() groupControl1 = VstoDocument.Controls.AddGroupContentControl("groupControl1") End Sub
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"); }
Viz také
Úkoly
Postupy: Přidání ovládacích prvků obsahu do dokumentů aplikace Word
Koncepty
Automatizace v aplikaci Word s použitím rozšířených objektů
Přehled hostitelských položek a hostitelských ovládacích prvků
Programová omezení hostitelských položek a hostitelských ovládacích prvků