Compartir a través de


Action (Interfaz)

Representa una acción de etiqueta inteligente de un libro de Excel que se personaliza usando las herramientas de desarrollo de Office incluidas en Visual Studio.

Espacio de nombres:  Microsoft.Office.Tools.Excel
Ensamblado:  Microsoft.Office.Tools.Excel (en Microsoft.Office.Tools.Excel.dll)

Sintaxis

'Declaración
<GuidAttribute("37e25b46-6941-4833-9b08-e692cf461982")> _
Public Interface Action _
    Inherits ActionBase
[GuidAttribute("37e25b46-6941-4833-9b08-e692cf461982")]
public interface Action : ActionBase

El tipo Action expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública Caption Obtiene o establece el nombre de la acción, tal como se muestra en el menú de etiquetas inteligentes. Este tipo o miembro está diseñado para usarse exclusivamente en proyectos de 2007 Microsoft Office system. Las etiquetas inteligentes están desusadas en Office 2010.
. (Se hereda de ActionBase).

Arriba

Eventos

  Nombre Descripción
Evento público BeforeCaptionShow Tiene lugar cuando el usuario hace clic en el icono de las etiquetas inteligentes, antes de que se muestre el menú de etiquetas inteligentes. Este tipo o miembro está diseñado para usarse exclusivamente en proyectos de 2007 Microsoft Office system. Las etiquetas inteligentes están desusadas en Office 2010.
.
Evento público Click Aparece cuando se hace clic en la acción del menú de etiquetas inteligentes. Este tipo o miembro está diseñado para usarse exclusivamente en proyectos de 2007 Microsoft Office system. Las etiquetas inteligentes están desusadas en Office 2010.
.

Arriba

Comentarios

Las acciones son las opciones que están disponibles en el menú contextual de la etiqueta inteligente cuando se reconoce una etiqueta inteligente de un tipo determinado.Para crear una acción, utilice el método de Globals.Factory.CreateAction para crear un objeto de Action.

[!NOTA]

Esta interfaz está implementada por el Runtime de Microsoft Visual Studio Tools para Office. No está prevista su implementación en el código. Para obtener más información, vea Información general sobre el Motor en tiempo de ejecución de Microsoft Visual Studio Tools para Office.

Uso

Este tipo está pensado para su uso sólo en proyectos para Excel 2007.Las etiquetas inteligentes están desusadas en Excel 2010.

En esta documentación se describe la versión de este tipo que se usa en los proyectos de Office destinados a .NET Framework 4 y .NET Framework 4.5. En los proyectos destinados a .NET Framework 3.5, este tipo podría tener unos miembros diferentes y los ejemplos de código de este tipo podrían no funcionar. Para informarse sobre este tipo en los proyectos destinados a .NET Framework 3.5, vea la siguiente sección de referencia en la documentación de Visual Studio 2008: https://go.microsoft.com/fwlink/?LinkId=160658.

Ejemplos

El ejemplo de código siguiente crea un objeto SmartTag con Action que reconoce el término "sale" y la expresión regular "[I|i]ssue\s\d{5,6}".La acción de la etiqueta inteligente modifica el título del menú de la acción en tiempo de ejecución y muestra la ubicación del texto reconocido.Para probar el ejemplo, escriba la palabra "sale" en una celda y la palabra "issue 12345" en otra y, a continuación, pruebe la acción de la etiqueta inteligente.

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

Vea también

Referencia

Microsoft.Office.Tools.Excel (Espacio de nombres)

SmartTag