Como: Adicionar marcas inteligentes a documentos do Word

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.

Projetos de nível de documento

  • Word 2003

  • Word 2007

Projetos de nível de aplicativo

  • Word 2007

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

Você pode adicionar marcas inteligentes a documentos do Microsoft Office Word para reconhecer texto e conceder o Acessar do usuário aos ações relacionadas com os termos reconhecido.

Iniciando no Visual Studio 2008 Serviço Pack 1 (SP1), você pode usar suplementos em nível de aplicativo para adicionar marcas inteligentes a qualquer Abrir documento.O código que você Gravar para criar e configurar um inteligente marca é o mesmo para projetos de nível de documento e o nível de aplicativo, mas existem algumas diferenças na forma que você associar uma marca inteligente documentos.As marcas inteligentes também têm escopo diferente em projetos do nível de documento e o nível de aplicativo.

Este tópico descreve as seguintes tarefas:

  • Adicionar uma marca inteligente usando uma personalização de nível de documento

  • Adicionando uma marca inteligente usando um suplemento do nível de aplicativo

Para executar uma marca inteligente, os usuários finais devem ter marcas inteligentes Habilitado no Word ou Excel.For more information, see Como: Habilitar marcas inteligentes no Word e Excel.

Adicionar uma marca inteligente usando uma personalização em nível de documento

As marcas inteligentes em personalizações em nível de documento são reconhecidas apenas no documento que está associado com a personalização.

Para adicionar uma marca inteligente usando uma personalização de nível de documento

  1. Criar um objeto de SmartTag e configurar esse objeto para definir o comportamento da marca inteligente:

    • Para especificar o texto desejado para reconhecer, use as propriedades de Terms ou Expressions.

    • Para definir as ações que os usuários podem Clique na marca inteligente, adicione um ou mais objetos Action à propriedade Actions.

    For more information, see Arquitetura de marcas inteligentes.

  2. Adicionar o SmartTag à propriedade VstoSmartTags de classe ThisDocument.

O exemplo de código a seguir cria uma marca inteligente que reconhece as palavras term e recognize.Quando o usuário clicar na marca inteligente, ele exibe as posições do Iniciar e finalizar os caracteres de palavra reconhecida.Para executar esse código, Adicionar o código para a classe ThisDocument e o método AddSmartTag chamada do ThisDocument_Startup manipulador de eventos.

Private WithEvents displayAddress As Microsoft.Office.Tools.Word.Action

Private Sub AddSmartTag()
    Dim smartTagDemo As New  _
        Microsoft.Office.Tools.Word.SmartTag( _
        "www.microsoft.com/Demo#DemoSmartTag", _
        "Demonstration Smart Tag")

    ' Specify the terms to recognize.
    smartTagDemo.Terms.Add("term")
    smartTagDemo.Terms.Add("recognize")

    ' Create the action.
    displayAddress = New Microsoft.Office.Tools.Word.Action("To be replaced")

    ' Add the action to the smart tag.
    smartTagDemo.Actions = New Microsoft.Office.Tools.Word.Action() { _
            displayAddress}

    ' Add the smart tag.
    Me.VstoSmartTags.Add(smartTagDemo)
End Sub

Private Sub OpenMessageBox_BeforeCaptionShow(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
    Handles DisplayAddress.BeforeCaptionShow

    Dim clickedAction As Microsoft.Office.Tools.Word.Action = _
        TryCast(sender, Microsoft.Office.Tools.Word.Action)

    If clickedAction IsNot Nothing Then
        clickedAction.Caption = "Display the location of " & e.Text
    End If
End Sub

Private Sub DisplayAddress_Click(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
    Handles DisplayAddress.Click

    Dim termStart As Integer = e.Range.Start
    Dim termEnd As Integer = e.Range.End
    MsgBox("The recognized text '" & e.Text & _
            "' begins at position " & termStart & _
            " and ends at position " & termEnd)
End Sub
private Microsoft.Office.Tools.Word.Action displayAddress;

private void AddSmartTag()
{
    Microsoft.Office.Tools.Word.SmartTag smartTagDemo =
        new Microsoft.Office.Tools.Word.SmartTag(
        "www.microsoft.com/Demo#DemoSmartTag",
        "Demonstration Smart Tag");

    // Specify the terms to recognize.
    smartTagDemo.Terms.Add("term");
    smartTagDemo.Terms.Add("recognize");

    // Create the action.
    displayAddress = new Microsoft.Office.Tools.Word.Action("To be replaced");

    // Add the action to the smart tag.
    smartTagDemo.Actions = new Microsoft.Office.Tools.Word.Action[] { 
        displayAddress };

    // Add the smart tag.
    this.VstoSmartTags.Add(smartTagDemo);

    displayAddress.BeforeCaptionShow += new
        Microsoft.Office.Tools.Word.BeforeCaptionShowEventHandler(
        displayAddress_BeforeCaptionShow);

    displayAddress.Click += new
        Microsoft.Office.Tools.Word.ActionClickEventHandler(
        displayAddress_Click);
}

void displayAddress_BeforeCaptionShow(object sender,
    Microsoft.Office.Tools.Word.ActionEventArgs e)
{
    Microsoft.Office.Tools.Word.Action clickedAction =
        sender as Microsoft.Office.Tools.Word.Action;

    if (clickedAction != null)
    {
        clickedAction.Caption = "Display the location of " +
            e.Text;
    }
}

void displayAddress_Click(object sender,
    Microsoft.Office.Tools.Word.ActionEventArgs e)
{
    int termStart = e.Range.Start;
    int termEnd = e.Range.End;
    System.Windows.Forms.MessageBox.Show("The recognized text '" + e.Text +
        "' begins at position " + termStart.ToString() +
        " and ends at position " + termEnd.ToString());
}

Adicionar uma marca inteligente usando um aplicativo Nível suplemento

Iniciando no SP1, você pode adicionar uma marca inteligente usando um suplemento do nível de aplicativo.Você pode especificar se deseja fazer a marca inteligente trabalhar apenas em um documento específico, ou em todos os Abrir documentos (também chamados de marca inteligente de nível de aplicativo um ).

Para adicionar uma marca inteligente a um documento específico

  1. Criar um objeto de SmartTag e configurar esse objeto para definir o comportamento da marca inteligente:

    • Para especificar o texto desejado para reconhecer, use as propriedades de Terms ou Expressions.

    • Para definir as ações que os usuários podem Clique na marca inteligente, adicione um ou mais objetos Action à propriedade Actions.

    For more information, see Arquitetura de marcas inteligentes.

  2. Use o método de GetVstoObject para criar um item de host Document para o documento que hospedará a marca inteligente.Para obter mais informações sobre como criar itens de host, consulte Estendendo os documentos do Word e Excel pastas de trabalho no nível de aplicativo Adicionar-ins em tempo de execução.

    Observação:

    Se você estiver usando um projeto que você criou antes Você instalar Ed SP1, você deve modificar o projeto antes de poder usar o Método GetVstoObject.For more information, see Estendendo os documentos do Word e Excel pastas de trabalho no nível de aplicativo Adicionar-ins em tempo de execução.

  3. Adicionar o SmartTag à propriedade VstoSmartTags do Document.

O exemplo de código a seguir cria uma marca inteligente no documento ativo que reconhece as palavras term e recognize.Quando o usuário clicar na marca inteligente, ele exibe as posições do Iniciar e finalizar os caracteres de palavra reconhecida.Para executar esse código, Adicionar o código para a classe ThisAddIn e o método AddSmartTagToActiveDocument chamada do ThisAddIn_Startup manipulador de eventos.

Private WithEvents displayAddress As Microsoft.Office.Tools.Word.Action

Private Sub AddSmartTagToActiveDocument()
    Dim smartTagDemo As New  _
        Microsoft.Office.Tools.Word.SmartTag( _
        "www.microsoft.com/Demo#DemoSmartTag", _
        "Demonstration Smart Tag")

    ' Specify the terms to recognize.
    smartTagDemo.Terms.Add("term")
    smartTagDemo.Terms.Add("recognize")

    ' Create the action.
    displayAddress = New Microsoft.Office.Tools.Word.Action("To be replaced")

    ' Add the action to the smart tag.
    smartTagDemo.Actions = New Microsoft.Office.Tools.Word.Action() { _
            displayAddress}

    ' Get a Document host item, and add the smart tag to the document.
    Dim vstoDocument As Microsoft.Office.Tools.Word.Document = _
        Me.Application.ActiveDocument.GetVstoObject()
    vstoDocument.VstoSmartTags.Add(smartTagDemo)
End Sub

Private Sub OpenMessageBox_BeforeCaptionShow(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
    Handles displayAddress.BeforeCaptionShow

    Dim clickedAction As Microsoft.Office.Tools.Word.Action = _
        TryCast(sender, Microsoft.Office.Tools.Word.Action)

    If clickedAction IsNot Nothing Then
        clickedAction.Caption = "Display the location of " & e.Text
    End If
End Sub

Private Sub DisplayAddress_Click(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
    Handles displayAddress.Click

    Dim termStart As Integer = e.Range.Start
    Dim termEnd As Integer = e.Range.End
    MsgBox("The recognized text '" & e.Text & _
            "' begins at position " & termStart & _
            " and ends at position " & termEnd)
End Sub
private Microsoft.Office.Tools.Word.Action displayAddress;

private void AddSmartTagToActiveDocument()
{
    Microsoft.Office.Tools.Word.SmartTag smartTagDemo =
        new Microsoft.Office.Tools.Word.SmartTag(
        "www.microsoft.com/Demo#DemoSmartTag",
        "Demonstration Smart Tag");

    // Specify the terms to recognize.
    smartTagDemo.Terms.Add("term");
    smartTagDemo.Terms.Add("recognize");

    // Create the action.
    displayAddress = new Microsoft.Office.Tools.Word.Action("To be replaced");

    // Add the action to the smart tag.
    smartTagDemo.Actions = new Microsoft.Office.Tools.Word.Action[] { 
        displayAddress };

    // Add the smart tag to the document.
    Microsoft.Office.Tools.Word.Document vstoDocument =
        this.Application.ActiveDocument.GetVstoObject();
    vstoDocument.VstoSmartTags.Add(smartTagDemo);

    displayAddress.BeforeCaptionShow += new
        Microsoft.Office.Tools.Word.BeforeCaptionShowEventHandler(
        displayAddress_BeforeCaptionShow);

    displayAddress.Click += new
        Microsoft.Office.Tools.Word.ActionClickEventHandler(
        displayAddress_Click);
}

void displayAddress_BeforeCaptionShow(object sender,
    Microsoft.Office.Tools.Word.ActionEventArgs e)
{
    Microsoft.Office.Tools.Word.Action clickedAction =
        sender as Microsoft.Office.Tools.Word.Action;

    if (clickedAction != null)
    {
        clickedAction.Caption = "Display the location of " +
            e.Text;
    }
}

void displayAddress_Click(object sender,
    Microsoft.Office.Tools.Word.ActionEventArgs e)
{
    int termStart = e.Range.Start;
    int termEnd = e.Range.End;
    System.Windows.Forms.MessageBox.Show("The recognized text '" + e.Text +
        "' begins at position " + termStart.ToString() +
        " and ends at position " + termEnd.ToString());
}

Para adicionar uma marca inteligente que funciona em todas as Abrir documentos

  1. Criar um objeto de SmartTag e configurar esse objeto para definir o comportamento da marca inteligente:

    • Para especificar o texto desejado para reconhecer, use as propriedades de Terms ou Expressions.

    • Para definir as ações que os usuários podem Clique na marca inteligente, adicione um ou mais objetos Action à propriedade Actions.

    For more information, see Arquitetura de marcas inteligentes.

  2. Adicionar o SmartTag à propriedade VstoSmartTags de classe ThisAddIn.

    Observação:

    Se você são usando um projeto que você criou antes Você instalar Ed SP1, você deve modificar o projeto para gerar o Propriedade VstoSmartTags.For more information, see Como: Adicionar marcas inteligentes do nível de aplicativo a projetos que foram criados antes do SP1.

O exemplo de código a seguir cria uma marca inteligente que reconhece as palavras term e recognize.Quando o usuário clicar na marca inteligente, ele exibe as posições do Iniciar e finalizar os caracteres de palavra reconhecida.Para executar esse código, Adicionar o código para a classe ThisAddIn e o método AddSmartTag chamada do ThisAddIn_Startup manipulador de eventos.

Private WithEvents displayAddress As Microsoft.Office.Tools.Word.Action

Private Sub AddSmartTag()
    Dim smartTagDemo As New  _
        Microsoft.Office.Tools.Word.SmartTag( _
        "www.microsoft.com/Demo#DemoSmartTag", _
        "Demonstration Smart Tag")

    ' Specify the terms to recognize.
    smartTagDemo.Terms.Add("term")
    smartTagDemo.Terms.Add("recognize")

    ' Create the action.
    displayAddress = New Microsoft.Office.Tools.Word.Action("To be replaced")

    ' Add the action to the smart tag.
    smartTagDemo.Actions = New Microsoft.Office.Tools.Word.Action() { _
            displayAddress}

    ' Add the smart tag.
    Me.VstoSmartTags.Add(smartTagDemo)
End Sub

Private Sub OpenMessageBox_BeforeCaptionShow(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
    Handles DisplayAddress.BeforeCaptionShow

    Dim clickedAction As Microsoft.Office.Tools.Word.Action = _
        TryCast(sender, Microsoft.Office.Tools.Word.Action)

    If clickedAction IsNot Nothing Then
        clickedAction.Caption = "Display the location of " & e.Text
    End If
End Sub

Private Sub DisplayAddress_Click(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
    Handles DisplayAddress.Click

    Dim termStart As Integer = e.Range.Start
    Dim termEnd As Integer = e.Range.End
    MsgBox("The recognized text '" & e.Text & _
            "' begins at position " & termStart & _
            " and ends at position " & termEnd)
End Sub
private Microsoft.Office.Tools.Word.Action displayAddress;

private void AddSmartTag()
{
    Microsoft.Office.Tools.Word.SmartTag smartTagDemo =
        new Microsoft.Office.Tools.Word.SmartTag(
        "www.microsoft.com/Demo#DemoSmartTag",
        "Demonstration Smart Tag");

    // Specify the terms to recognize.
    smartTagDemo.Terms.Add("term");
    smartTagDemo.Terms.Add("recognize");

    // Create the action.
    displayAddress = new Microsoft.Office.Tools.Word.Action("To be replaced");

    // Add the action to the smart tag.
    smartTagDemo.Actions = new Microsoft.Office.Tools.Word.Action[] { 
        displayAddress };

    // Add the smart tag.
    this.VstoSmartTags.Add(smartTagDemo);

    displayAddress.BeforeCaptionShow += new
        Microsoft.Office.Tools.Word.BeforeCaptionShowEventHandler(
        displayAddress_BeforeCaptionShow);

    displayAddress.Click += new
        Microsoft.Office.Tools.Word.ActionClickEventHandler(
        displayAddress_Click);
}

void displayAddress_BeforeCaptionShow(object sender,
    Microsoft.Office.Tools.Word.ActionEventArgs e)
{
    Microsoft.Office.Tools.Word.Action clickedAction =
        sender as Microsoft.Office.Tools.Word.Action;

    if (clickedAction != null)
    {
        clickedAction.Caption = "Display the location of " +
            e.Text;
    }
}

void displayAddress_Click(object sender,
    Microsoft.Office.Tools.Word.ActionEventArgs e)
{
    int termStart = e.Range.Start;
    int termEnd = e.Range.End;
    System.Windows.Forms.MessageBox.Show("The recognized text '" + e.Text +
        "' begins at position " + termStart.ToString() +
        " and ends at position " + termEnd.ToString());
}

Segurança

Você deve ativar as marcas inteligentes no Word.Por padrão, eles não estão Habilitados.For more information, see Como: Habilitar marcas inteligentes no Word e Excel.

Consulte também

Tarefas

Como: Habilitar marcas inteligentes no Word e Excel

Como: Adicionar marcas inteligentes a pastas de trabalho do Excel

Como: Adicionar marcas inteligentes do nível de aplicativo a projetos que foram criados antes do SP1

Como: Criar marcas inteligentes com identificadores de Personalizar no Word

Como: Criar marcas inteligentes com identificadores Personalizars no Excel

Demonstra Passo a passo: Criando uma marca inteligente com uma personalização em nível de documento

Demonstra Passo a passo: Criando uma marca inteligente com um nível de aplicativo Adicionar - no

Conceitos

Visão geral sobre marcas inteligentes

Arquitetura de marcas inteligentes

Arquitetura de marcas inteligentes

Desenvolvendo soluções do Office

Date

History

Motivo

De 2008 de julho

Adicionado novos procedimentos para suplementos de nível de aplicativo.

Alteração de recurso do SP1.