Demonstra Passo a passo: A criação de uma marca inteligente usando uma personalização em nível de documento

Esta explicação passo a passo demonstra como criar uma marca inteligente uma personalização em nível de documento do Word. A marca inteligente reconhece Fahrenheit seqüências de caracteres de temperatura. A marca inteligente inclui uma ação que converte o valor de temperatura em Celsius e substitui o texto reconhecido com uma Celsius formatada cadeia de caracteres de temperatura.

Aplicável a: As informações neste tópico se aplicam a projetos de nível de documento para Word 2007. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Para executar esta marca inteligente, os usuários finais deve habilitar as marcas inteligentes no Word. For more information, see Como: Ativar marcas inteligentes no Word e Excel.

This walkthrough illustrates the following tasks:

  • Criação de uma marca inteligente que reconhece uma expressão regular.

  • Criando uma ação que recupera dados a partir da marca inteligente e modifica o texto reconhecido de marca inteligente.

ObservaçãoObservação

Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. The Visual Studio edition that you have and the settings that you use determine these elements. For more information, see Trabalhando com configurações.

Pré-requisitos

You need the following components to complete this walkthrough:

-

Uma edição do Visual Studio 2010 que inclua as ferramentas de desenvolvedor do Microsoft Office. Para obter mais informações, consulte [Configurando um computador para desenvolver soluções do Office](bb398242\(v=vs.100\).md).
  • Word 2007.

  • .NET Framework 3.5.

ObservaçãoObservação

Se tiver por alvo.NET Framework 4, você deve escrever um código diferente para criar marcas inteligentes e ações. For more information, see Arquitetura de marcas inteligentes.

Creating a New Project

A primeira etapa é criar um projeto de documento do Word.

Para criar um novo projeto.

Abre o novo documento do Word no designer de Visual Studio e adiciona o projeto de minhas marcas inteligentes para Solution Explorer.

Configurando o projeto.

O projeto precisa de uma referência para a DLL de marca inteligente e também precisa usar expressões regulares.

Para configurar seu projeto.

  1. On the Project menu, click Add Reference.

  2. Sobre o .NET guia, selecione Microsoft.Office.Interop.SmartTag e clique em OK. Selecione o 12.0.0.0 de versão do assembly.

  3. Em Solution Explorer, clique com o botão direito ThisDocument. vb (em Visual Basic) ou ThisDocument.cs (em C#) e, em seguida, clique em Exibir código.

  4. Adicione a seguinte linha de código na parte superior do arquivo.

    Imports System.Text.RegularExpressions
    
    using System.Text.RegularExpressions;
    

Criando a marca inteligente

Para habilitar a marca inteligente localizar e converter Fahrenheit seqüências de caracteres de temperatura, adicionar uma expressão regular para a lista de termos que reconhece a marca inteligente e criar uma ação que estarão disponível quando o usuário clica na marca inteligente.

Para criar a marca inteligente

  1. Substituir o ThisDocument_Startup manipulador de eventos do ThisDocument classe com o código a seguir. Esse código cria um SmartTag que representa a marca inteligente e adiciona uma expressão regular para a lista de termos que reconhece a marca inteligente.

    WithEvents action1 As Microsoft.Office.Tools.Word.Action
    
    Private Sub ThisDocument_Startup(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles Me.Startup
    
        'Use the following line of code in projects that target the .NET Framework 4.
        Dim smartTag1 As Microsoft.Office.Tools.Word.SmartTag = _
            Globals.Factory.CreateSmartTag( _
           "www.microsoft.com/Demo#DemoSmartTag", _
           "Demonstration Smart Tag")
    
        'In projects that target the .NET Framework 3.5, use the following line of code.
        'Dim smartTag1 As New Microsoft.Office.Tools.Word.SmartTag( _
        '   "www.microsoft.com/Demo#DemoSmartTag", _
        '  "Demonstration Smart Tag")
    
        smartTag1.Expressions.Add( _
            New Regex("(?'number'[+-]?\b[0-9]+)?\s?(F|f)\b"))
    
    private Microsoft.Office.Tools.Word.Action action1;
    
    private void ThisDocument_Startup(object sender, System.EventArgs e)
    {
        // Use the following line of code in projects that target the .NET Framework 4.
        Microsoft.Office.Tools.Word.SmartTag smartTag1 =
            Globals.Factory.CreateSmartTag(
            "www.microsoft.com/Demo#DemoSmartTag",
            "Demonstration Smart Tag");
    
        // In projects that target the .NET Framework 3.5, use the following line of code.
        //Microsoft.Office.Tools.Word.SmartTag smartTag1 =
        //  new Microsoft.Office.Tools.Word.SmartTag(
        //  "www.microsoft.com/Demo#DemoSmartTag",
        //  "Demonstration Smart Tag");
    
        smartTag1.Expressions.Add(new Regex(
            @"(?'number'[+-]?\b[0-9]+)�?\s?(F|f)\b"));
    
  2. Criar uma nova Action e adicioná-lo para o Actions propriedade de marca inteligente. O Action representa um item que o usuário pode clicar no menu de marca inteligente.

    'Use the following line of code in projects that target the .NET Framework 4.
    action1 = Globals.Factory.CreateAction( _
        "Convert to Celsius")
    
    'In projects that target the .NET Framework 3.5, use the following line of code.
    'action1 = New Microsoft.Office.Tools.Word.Action( _
    '    "Convert to Celsius")
    
    smartTag1.Actions = _
        New Microsoft.Office.Tools.Word.Action() {action1}
    
    
    // Use the following line of code in projects that target the .NET Framework 4.
    action1 = Globals.Factory.CreateAction(
        "Convert to Celsius");
    
    // In projects that target the .NET Framework 3.5, use the following line of code.
    //action1 = new Microsoft.Office.Tools.Word.Action(
    //    "Convert to Celsius");
    
    
    
    smartTag1.Actions = new
        Microsoft.Office.Tools.Word.Action[] {action1};
    
  3. Anexar a marca inteligente no documento, adicionando a SmartTag para o VstoSmartTags propriedade. No C#, anexar um manipulador de eventos para o Click eventos de ação.

        Me.VstoSmartTags.Add(smartTag1)
    End Sub
    
        this.VstoSmartTags.Add(smartTag1);
    
        action1.Click += new
            Microsoft.Office.Tools.Word.ActionClickEventHandler(
            action1_Click);
    }
    

Criando um manipulador de eventos para a ação.

O manipulador de eventos recupera o Fahrenheit o valor da chave de temperatura número, que está no conjunto de propriedades da marca inteligente. O manipulador de eventos, em seguida, converte o Fahrenheit para Celsius, o valor de temperatura e substitui a seqüência de caracteres reconhecida.

Neste exemplo, a chave número identifica um grupo capturado da expressão regular atribuído à marca inteligente. Para obter mais informações sobre pacotes de propriedade e expressões regulares em marcas inteligentes, consulte Arquitetura de marcas inteligentes.

To create the event handler

  • Copie o seguinte código para o ThisDocument classe.

    Private Sub action1_Click(ByVal sender As Object, _
        ByVal e As Microsoft.Office.Tools.Word.ActionEventArgs) _
        Handles action1.Click
    
        Dim value As String = e.Properties.Read("number")
        Dim fahrenheit As Double = System.Convert.ToDouble(value)
        Dim celsius As Integer = Fix(fahrenheit - 32) * 5 / 9
        e.Range.Text = celsius.ToString() + "C"
    End Sub
    
    void action1_Click(object sender,
        Microsoft.Office.Tools.Word.ActionEventArgs e)
    {
        string value = e.Properties.get_Read("number");
        double fahrenheit = System.Convert.ToDouble(value);
        int celsius = (int)(fahrenheit - 32) * 5 / 9;
        e.Range.Text = celsius.ToString() + "�C";
    }
    

Testing the Application

Agora você pode testar seu documento para certificar-se de que a marca inteligente converte Fahrenheit temperaturas para Celsius.

Para testar a sua pasta de trabalho.

  1. No Word, ative as marcas inteligentes.

    For more information, see Como: Ativar marcas inteligentes no Word e Excel.

  2. Pressione F5 para executar seu projeto.

  3. Digite uma seqüência de caracteres que está de acordo com a expressão regular, adicionado à marca inteligente, como 60F, 60 ° F, ou 60 F.

    ObservaçãoObservação

    Para digitar um símbolo de grau (°), pressione ALT e digite 248.

  4. Clique no ícone de marca inteligente aparece sobre a seqüência de caracteres reconhecida e, em seguida, clique em Converter em Celsius.

  5. Confirme que a seqüência de caracteres original é substituída com uma nova seqüência de caracteres que contém a temperatura em Celsius.

Consulte também

Tarefas

Como: Ativar marcas inteligentes no Word e Excel

Como: Adicionar marcas inteligentes em documentos do Word

Como: Adicionar marcas inteligentes para pastas de trabalho do Excel

Como: Criar marcas inteligentes com reconhecedores de personalizado no Word e.NET Framework 3.5

Como: Criar marcas inteligentes com reconhecedores de personalizadas no Excel e.NET Framework 3.5

Demonstra Passo a passo: A criação de uma marca inteligente usando-se um suplemento em nível de aplicativo

Conceitos

Arquitetura de marcas inteligentes

Outros recursos

Visão geral sobre marcas inteligentes