Ochrana částí dokumentů pomocí ovládacích prvků obsahu
Když chráníte část dokumentu, zabráníte uživatelům v tom, aby změnili nebo odstranili obsah v této části dokumentu. Části dokumentu systém Microsoft Office Wordu můžete chránit několika způsoby pomocí ovládacích prvků obsahu:
Ovládací prvek obsahu můžete chránit.
Můžete chránit část dokumentu, která není v ovládacím prvku obsahu.
Platí pro: Informace v tomto tématu platí pro projekty na úrovni dokumentu a projekty doplňků VSTO pro Word. Další informace naleznete v tématu Funkce dostupné aplikace Office lication a typu projektu.
Ochrana ovládacího prvku obsahu
Uživatelům můžete zabránit v úpravě nebo odstranění ovládacího prvku nastavením vlastností ovládacího prvku v projektu na úrovni dokumentu v době návrhu nebo v době běhu.
Ovládací prvky obsahu, které přidáte do dokumentu za běhu, můžete také chránit pomocí projektu doplňku VSTO. Další informace naleznete v tématu Postupy: Přidání ovládacích prvků obsahu do wordových dokumentů.
Ochrana ovládacího prvku obsahu v době návrhu
V dokumentu, který je hostovaný v návrháři sady Visual Studio, vyberte ovládací prvek obsahu, který chcete chránit.
V okně Vlastnosti nastavte jednu nebo obě z následujících vlastností:
Chcete-li uživatelům zabránit v úpravách ovládacího prvku, nastavte LockContents na Hodnotu True.
Chcete-li zabránit uživatelům v odstranění ovládacího prvku, nastavte LockContentControl na Hodnotu True.
Klikněte na OK.
Ochrana ovládacího prvku obsahu za běhu
LockContents
Nastavte vlastnost ovládacího prvku obsahu na true, aby uživatelé nemohli ovládací prvek upravovat, a nastavteLockContentControl
vlastnost na true, aby uživatelé nemohli ovládací prvek odstranit.Následující příklad kódu ukazuje použití LockContents a LockContentControl vlastnosti dvou různých RichTextContentControl objektů v projektu na úrovni dokumentu. Pokud chcete tento kód spustit, přidejte kód do
ThisDocument
třídy v projektu a volejte metoduAddProtectedContentControls
z obslužné rutinyThisDocument_Startup
události.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 vlastnosti dvou různých RichTextContentControl objektů v projektu doplňku VSTO. Pokud chcete tento kód spustit, přidejte kód do
ThisAddIn
třídy v projektu a volejte metoduAddProtectedContentControls
z obslužné rutinyThisAddIn_Startup
události.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; }
Ochrana části dokumentu, která není v ovládacím prvku obsahu
Uživatelům můžete zabránit v tom, aby změnili oblast dokumentu tak, že ji umístíte do objektu GroupContentControl. To je užitečné v následujících scénářích:
Chcete chránit oblast, která neobsahuje ovládací prvky obsahu.
Chcete chránit oblast, která již obsahuje ovládací prvky obsahu, ale text nebo jiné položky, které chcete chránit, nejsou v ovládacích prvcích obsahu.
Poznámka:
Pokud vytvoříte ovládací prvky s vloženým GroupContentControl obsahem, nebudou ovládací prvky vloženého obsahu automaticky chráněny. Chcete-li uživatelům zabránit v úpravě vloženého ovládacího prvku obsahu, použijte vlastnost LockContents ovládacího prvku.
Ochrana oblasti dokumentu v době návrhu
V dokumentu, který je hostovaný v návrháři sady Visual Studio, vyberte oblast, kterou chcete chránit.
Na pásu karet klikněte na kartu Vývojář .
Poznámka:
Pokud karta Vývojář není viditelná, musíte ji nejdřív zobrazit. Další informace najdete v tématu Postupy: Zobrazení karty Vývojář na pásu karet.
Ve skupině Ovládací prvky klikněte na rozevírací tlačítko Skupina a potom klepněte na tlačítko Seskupovat.
A GroupContentControl obsahující chráněnou oblast se automaticky vygeneruje ve
ThisDocument
třídě ve vašem projektu. Ohraničení, které představuje ovládací prvek skupiny, je viditelné v době návrhu, ale v době běhu neexistuje žádné viditelné ohraničení.
Ochrana oblasti dokumentu za běhu
Programově vyberte oblast, kterou chcete chránit, a pak volejte metodu AddGroupContentControl pro GroupContentControlvytvoření .
Následující příklad kódu pro projekt na úrovni dokumentu přidá text do prvního odstavce v dokumentu, vybere první odstavec a vytvoří instanci GroupContentControl. Pokud chcete tento kód spustit, přidejte kód do
ThisDocument
třídy v projektu a volejte metoduProtectFirstParagraph
z obslužné rutinyThisDocument_Startup
události.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 pro doplněk VSTO přidá text do prvního odstavce v aktivním dokumentu, vybere první odstavec a vytvoří instanci GroupContentControl. Pokud chcete tento kód spustit, přidejte kód do
ThisAddIn
třídy v projektu a volejte metoduProtectFirstParagraph
z obslužné rutinyThisAddIn_Startup
události.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"); }
Související obsah
- Automatizace Wordu pomocí rozšířených objektů
- Ovládací prvky obsahu
- Postupy: Přidání ovládacích prvků obsahu do wordových dokumentů
- Přehled hostitelských položek a ovládacích prvků hostitele
- Programová omezení hostitelských položek a hostitelských ovládacích prvků
- Přidání ovládacích prvků do dokumentů Office za běhu