Condividi tramite


Interfaccia Action

Rappresenta un'azione smart tag in una cartella di lavoro di Excel personalizzata tramite gli Strumenti di sviluppo di Microsoft Office per Visual Studio.

Spazio dei nomi:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

Sintassi

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

Il tipo Action espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica Caption Ottiene o imposta il nome dell'azione come viene visualizzato nel menu Smart tag. Questo tipo o membro deve essere utilizzato solo nei progetti per Microsoft Office System 2007. Gli smart tag sono deprecati in Office 2010.
. (Ereditato da ActionBase)

In alto

Eventi

  Nome Descrizione
Evento pubblico BeforeCaptionShow Si verifica dopo che si è fatto clic sull'icona smart tag e prima che venga visualizzato il menu Smart tag. Questo tipo o membro deve essere utilizzato solo nei progetti per Microsoft Office System 2007. Gli smart tag sono deprecati in Office 2010.
.
Evento pubblico Click Si verifica quando si fa clic sull'azione nel menu Smart tag. Questo tipo o membro deve essere utilizzato solo nei progetti per Microsoft Office System 2007. Gli smart tag sono deprecati in Office 2010.
.

In alto

Note

Le azioni sono le opzioni disponibili nel menu di scelta rapida Smart tag quando viene riconosciuto uno smart tag di un certo tipo.Per creare un'azione, utilizzare il metodo di Globals.Factory.CreateAction per creare un oggetto di Action.

[!NOTA]

Questa interfaccia è implementata dal Runtime di Visual Studio Tools per Office. Non deve essere implementata nel codice. Per ulteriori informazioni, vedere Cenni preliminari su Visual Studio Tools per Office Runtime.

Utilizzo

Questo tipo deve essere utilizzato solo nei progetti per Excel 2007.Gli smart tag sono deprecati in Excel 2010.

Nella presente documentazione viene descritta la versione di questo tipo utilizzata nei progetti di Office destinati a .NET Framework 4 e .NET Framework 4.5. Nei progetti destinati a .NET Framework 3.5 questo tipo potrebbe avere membri diversi e gli esempi di codice forniti per il tipo potrebbero non funzionare. Per la documentazione relativa a questo tipo nei progetti destinati a .NET Framework 3.5, vedere la sezione di riferimento seguente nella documentazione di Visual Studio 2008: https://go.microsoft.com/fwlink/?LinkId=160658.

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come creare un oggetto SmartTag con un oggetto Action per il riconoscimento del termine "sale" e dell'espressione regolare "[I|i]ssue\s\d{5,6}".L'azione modifica la didascalia di menu dell'azione in fase di esecuzione e visualizza l'indirizzo del testo riconosciuto.Per verificare l'esempio digitare la parola "sale" in una cella e la stringa "issue 12345" in un'altra, quindi provare l'azione smart tag.

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

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.Office.Tools.Excel

SmartTag