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

  1. V dokumentu, který je hostitelem v Visual Studio designer, vyberte ovládací prvek obsahu, který chcete chránit.

  2. 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.

  3. 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

  1. V dokumentu, který je hostitelem v Visual Studio designer, vyberte oblast, kterou chcete chránit.

  2. 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.

  3. 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ů

Ovládací prvky obsahu

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ů

Přidání ovládacích prvků do dokumentů Office za běhu