Partager via


Action, interface

Représente une action de balise active d'un classeur Excel personnalisé à l'aide des outils de développement Office dans Visual Studio.

Espace de noms :  Microsoft.Office.Tools.Excel
Assembly :  Microsoft.Office.Tools.Excel (dans Microsoft.Office.Tools.Excel.dll)

Syntaxe

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

Le type Action expose les membres suivants.

Propriétés

  Nom Description
Propriété publique Caption Obtient ou définit le nom de l'action, tel qu'il figure dans le menu de la balise active. Ce type ou ce membre vise à être utilisé uniquement dans les projets pour la version 2007 de Microsoft Office System. Les balises actives sont déconseillées dans Office 2010.
. (Hérité de ActionBase.)

Début

Événements

  Nom Description
Événement public BeforeCaptionShow Se produit après que l'utilisateur a cliqué sur l'icône des balises actives, et avant que le menu de la balise active soit affiché. Ce type ou ce membre vise à être utilisé uniquement dans les projets pour la version 2007 de Microsoft Office System. Les balises actives sont déconseillées dans Office 2010.
.
Événement public Click Se produit lorsque l'utilisateur clique sur l'action dans le menu de la balise active. Ce type ou ce membre vise à être utilisé uniquement dans les projets pour la version 2007 de Microsoft Office System. Les balises actives sont déconseillées dans Office 2010.
.

Début

Notes

Les actions sont les choix disponibles dans le menu contextuel de la balise active lorsqu'une balise active d'un certain type est reconnue.Pour créer une action, utilisez la méthode d' Globals.Factory.CreateAction pour créer un objet d' Action .

[!REMARQUE]

Cette interface est implémentée par Visual Studio Tools pour Office Runtime. Elle n'est pas destinée à être implémentée dans votre code. Pour plus d'informations, consultez Vue d'ensemble de Visual Studio Tools pour Office Runtime.

Utilisation

Ce type vise à être utilisé uniquement dans les projets pour Excel 2007.Les balises actives sont déconseillées dans Excel 2010.

Cette documentation décrit la version de ce type utilisée dans les projets Office qui ciblent .NET Framework 4 et .NET Framework 4.5. Dans les projets qui ciblent .NET Framework 3.5, ce type peut contenir d'autres membres, et les exemples de code qui y figurent sont susceptibles de ne pas fonctionner. Pour obtenir de la documentation sur ce type dans les projets ciblant .NET Framework 3.5, consultez la section de référence suivante dans la documentation Visual Studio 2008 : https://go.microsoft.com/fwlink/?LinkId=160658.

Exemples

L'exemple de code suivant crée un SmartTag avec un Action qui reconnaît le terme « sale » et l'expression régulière « I|i]ssue\\s\\d\{5,6\} ».L'action modifie la légende du menu de l'action au moment de l'exécution et affiche l'adresse du texte qui a été reconnu.Pour tester le code, tapez le mot "sale" dans une cellule et la chaîne "issue 12345" dans une autre cellule, puis essayez l'action de la balise active.

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

Voir aussi

Référence

Microsoft.Office.Tools.Excel, espace de noms

SmartTag