Compartilhar via


Interface Action

Representa uma ação de marca inteligente em uma pasta de trabalho do Excel que seja adequada usando as ferramentas de desenvolvimento do Office no Visual Studio.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)

Sintaxe

'Declaração
<GuidAttribute("37e25b46-6941-4833-9b08-e692cf461982")> _
Public Interface Action _
    Inherits ActionBase
[GuidAttribute("37e25b46-6941-4833-9b08-e692cf461982")]
public interface Action : ActionBase

O tipo Action expõe os membros a seguir.

Propriedades

  Nome Descrição
Propriedade pública Caption Obtém ou define o nome de ação, como mostrado no menu de marca inteligente. Esse tipo ou membro está destinado a uso apenas em projetos do sistema Microsoft Office 2007. Marcas inteligentes estão preteridas no Office 2010.
. (Herdado de ActionBase.)

Superior

Eventos

  Nome Descrição
Evento público BeforeCaptionShow Ocorre depois que o usuário clica no ícone de marcas inteligentes, e antes da marca inteligente o menu é exibido. Esse tipo ou membro está destinado a uso apenas em projetos do sistema Microsoft Office 2007. Marcas inteligentes estão preteridas no Office 2010.
.
Evento público Click Ocorre quando a ação no menu de marca inteligente for clicado. Esse tipo ou membro está destinado a uso apenas em projetos do sistema Microsoft Office 2007. Marcas inteligentes estão preteridas no Office 2010.
.

Superior

Comentários

As ações são as opções disponíveis no menu de atalho de marcas inteligentes quando uma marca inteligente de qualquer tipo é reconhecida. Para criar uma ação, use o método de Globals.Factory.CreateAction para criar um objeto de Action .

Dica

Essa interface é implementada pelo Visual Studio Tools for Office Runtime. Ela não se destina a ser implementada em seu código. Para obter mais informações, consulte Visão geral de tempo de execução do Visual Studio Tools for Office.

Uso

Este tipo destina-se a ser usado apenas em projetos para Excel 2007. Marcas inteligentes são substituídas em Excel 2010.

Essa documentação descreve a versão desse tipo que é usada apenas nos projetos do Office direcionados ao .NET Framework 4 e ao .NET Framework 4.5. Em projetos direcionados ao .NET Framework 3.5, esse tipo pode ter membros diferentes e os exemplos de código fornecidos para este tipo talvez não funcionem. Para conhecer a documentação sobre esse tipo de projeto direcionado ao .NET Framework 3.5, consulte a seguinte seção de referência na documentação do Visual Studio 2008: https://go.microsoft.com/fwlink/?LinkId=160658.

Exemplos

O exemplo de código a seguir cria SmartTag com Action que reconhece “venda o termo” e a expressão regular [“I|i] ssue \ \ s de {5,6}”. A ação alterar a legenda do menu de ação em tempo de execução e exibe o endereço de texto que foi reconhecido. Para testar o exemplo, digite de cadeia de caracteres de “venda da palavra” 12345 " problema de uma célula e em “em outra célula, e tente a ação de marcas inteligentes.

WithEvents displayAddress As Microsoft.Office.Tools.Excel.Action

Private Sub AddSmartTag()

    Dim smartTagDemo As Microsoft.Office.Tools.Excel.SmartTag = _
        Globals.Factory.CreateSmartTag(
        "www.microsoft.com/Demo#DemoSmartTag",
        "Demonstration Smart Tag")

    ' Specify a term and an expression to recognize.
    smartTagDemo.Terms.Add("sale")
    smartTagDemo.Expressions.Add( _
        New System.Text.RegularExpressions.Regex( _
        "[I|i]ssue\s\d{5,6}"))

    displayAddress = Globals.Factory.CreateAction("To be replaced")

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

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

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

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

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

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

    Dim smartTagAddress As String = e.Range.Address( _
        ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
    MsgBox("The recognized text '" & e.Text & _
            "' is at range " & smartTagAddress)
End Sub
private Microsoft.Office.Tools.Excel.Action displayAddress;

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

    // Specify a term and an expression to recognize.
    smartTagDemo.Terms.Add("sale");
    smartTagDemo.Expressions.Add(
        new System.Text.RegularExpressions.Regex(
        @"[I|i]ssue\s\d{5,6}"));

    displayAddress = Globals.Factory.CreateAction("To be replaced");


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

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

    displayAddress.BeforeCaptionShow += new 
        Microsoft.Office.Tools.Excel.BeforeCaptionShowEventHandler(
        DisplayAddress_BeforeCaptionShow);

    displayAddress.Click += new 
        Microsoft.Office.Tools.Excel.ActionClickEventHandler(
        DisplayAddress_Click);
}

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

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

void DisplayAddress_Click(object sender, 
    Microsoft.Office.Tools.Excel.ActionEventArgs e)
{
    string smartTagAddress = e.Range.get_Address(Excel.XlReferenceStyle.xlA1);
    System.Windows.Forms.MessageBox.Show("The recognized text '" + e.Text +
        "' is at range " + smartTagAddress);
}

Consulte também

Referência

Namespace Microsoft.Office.Tools.Excel

SmartTag