Partilhar via


Como: Proteger partes de documentos, usando controles de conteúdo

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de documento

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • Word 2007

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

Quando você protege parte de um documento, você impede que os usuários alterar ou excluir o conteúdo que parte do documento.Há várias maneiras de você pode proteger partes de um documento do Microsoft Office Word 2007 usando controles de conteúdo:

  • Você pode proteger um Controlarar de conteúdo.

  • Você pode proteger uma parte de um documento que não esteja em um Controlarar de conteúdo.

Protegendo um Controlarar de conteúdo

Você pode evitar que usuários editar ou excluir um Controlarar de conteúdo por Configuração propriedades do Controlarar em um projeto em nível de documento em tempo de design ou em tempo de execução.

Iniciando no Visual Studio 2008 Serviço Pack 1 (SP1), você também pode proteger conteúdos controles que você adicionar a um documento em tempo de execução usando um projeto de nível de aplicativo.For more information, see Como: Adicionar controles de conteúdo a documentos do Word.

Para proteger um Controlarar de conteúdo em tempo de design

  1. No documento que está hospedado no designer Visual Studio, Selecionar o Controlarar de conteúdo que você deseja proteger.

  2. Na janela Propriedades, defina uma ou ambAmbos Ambos seguintes propriedades:

    • Para impedir que os usuários o Controlarar de edição, defina LockContents a True.

    • Para impedir que os usuários de excluir o controle, defina LockContentControl a True.

  3. Clique em OK.

Para proteger um Controlarar de conteúdo em tempo de execução em um projeto de nível de documento

  • Defina a propriedade LockContents o Controlarar de conteúdo como true para impedir que usuários o Controlarar de edição e defina a propriedade de LockContentControl a true para impedir que os usuários a exclusão do Controlarar.

    O exemplo de código a seguir demonstra usando as propriedades de LockContents de dois objetos diferentes LockContentControl e RichTextContentControl em um projeto de nível de documento.Para executar esse código, Adicionar o código para o ThisDocument classe em seu projeto e chamar o método de AddProtectedContentControls do ThisDocument_Startup manipulador de eventos.

    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;
    }
    

Para proteger um Controlarar de conteúdo em tempo de execução em um projeto de nível de aplicativo

  • Defina a propriedade LockContents o Controlarar de conteúdo como true para impedir que usuários o Controlarar de edição e defina a propriedade de LockContentControl a true para impedir que os usuários a exclusão do Controlarar.

    O exemplo de código a seguir demonstra usando as propriedades de LockContents de dois objetos diferentes LockContentControl e RichTextContentControl em um projeto de nível de aplicativo.Para executar esse código, Adicionar o código para o ThisAddIn classe em seu projeto e chamar o método de AddProtectedContentControls do ThisAddIn_Startup manipulador de eventos.

    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 = _
            Me.Application.ActiveDocument.GetVstoObject()
        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 = 
            this.Application.ActiveDocument.GetVstoObject();
        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;
    }
    

Protegendo uma parte de um documento que não está em um Controlarar de conteúdo

Você pode impedir que os usuários alterar uma área de um documento, colocando a área em um GroupContentControl.Isso é útil nas seguintes situações:

  • Você deseja proteger uma área que não contém controles de conteúdo.

  • Você deseja proteger uma área que já contém controles de conteúdo, mas o texto ou outros itens que você deseja proteger não estão em controles de conteúdo.

Observação:

Se Você criar um GroupContentControl que contém incorporados controles de conteúdo, controles de conteúdo incorporados não são protegidos automaticamente.Para evitar que os usuários editem um Controlarar de conteúdo incorporado, use a propriedade LockContents do Controlarar.

Para proteger uma área de um documento em tempo de design

  1. No documento que está hospedado no designer Visual Studio, Selecionar a área que você deseja proteger.

  2. Na faixa de opções, clique na guia de De desenvolvedor.

    Observação:

    Se a Guia do desenvolvedor não estiver visível, você primeiro deve mostrá-lo.For more information, see Como: Mostrar a guia Desenvolvedor na Faixa de Opções.

  3. No AAgruparar controles, clique no botão de Soltar-Para Baixo de AAgruparar e clique em AAgruparar.

    Um GroupContentControl que contém a área protegida é automaticamente gerado na classe ThisDocument no seu projeto.Uma borda que representa o Controlarar de AAgruparar é visível em tempo de design, mas não é nenhuma borda visível em tempo de execução.

Para proteger uma área de um documento em tempo de execução em um projeto de nível de documento

  • Programaticamente, Selecionar a área que você deseja proteger e chamamos o método AddGroupContentControl para criar um GroupContentControl.

    O exemplo de código a seguir adiciona texto ao primeiro parágrafo no documento, seleciona o primeiro parágrafo e, em seguida, cria um GroupContentControl.Para executar esse código, Adicionar o código para o ThisDocument classe em seu projeto e chamar o método de ProtectFirstParagraph do ThisDocument_Startup manipulador de eventos.

    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");
    }
    

Para proteger uma área de um documento em tempo de execução em um projeto de nível de aplicativo

  • Programaticamente, Selecionar a área que você deseja proteger e chamamos o método AddGroupContentControl para criar um GroupContentControl.

    O exemplo de código a seguir adiciona texto ao primeiro parágrafo do documento ativo, seleciona o primeiro parágrafo e, em seguida, cria um GroupContentControl.Para executar esse código, Adicionar o código para o ThisAddIn classe em seu projeto e chamar o método de ProtectFirstParagraph do ThisAddIn_Startup manipulador de eventos.

    Dim groupControl1 As Microsoft.Office.Tools.Word.GroupContentControl
    
    Private Sub ProtectFirstParagraph()
        Dim vstoDocument As Microsoft.Office.Tools.Word.Document = _
            Me.Application.ActiveDocument.GetVstoObject()
        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 =
            this.Application.ActiveDocument.GetVstoObject();
        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");
    }
    

Consulte também

Tarefas

Como: Adicionar controles de conteúdo a documentos do Word

Conceitos

Os controles de conteúdo

Itens de host e Visão geral sobre controles de host

Limitações através de programação de itens de host e controles de host

Adicionar controles a documentos do Office em tempo de execução

Métodos de auxiliar para controles de host

Outros recursos

Controles de host do Word

Date

History

Motivo

De 2008 de julho

Adicionado procedimentos para suplementos de nível de aplicativo.

Alteração de recurso do SP1.