Partager via


NamedRange.Change, événement (System 2007)

Mise à jour : Juillet 2008

Se produit lorsqu'une modification quelconque est apportée au contrôle NamedRange.

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

Syntaxe

Public Event Change As DocEvents_ChangeEventHandler

Dim instance As NamedRange
Dim handler As DocEvents_ChangeEventHandler

AddHandler instance.Change, handler
public event DocEvents_ChangeEventHandler Change

Notes

Cet événement est déclenché si le contrôle NamedRange est modifié par une interaction de l'utilisation ou une modification apportée par programme. Cet événement ne se produit pas lorsque les cellules d'un contrôle NamedRange sont modifiées pendant un nouveau calcul.

Exemples

L'exemple de code suivant crée un NamedRange et un gestionnaire d'événements Change. Pour déclencher l'événement Change, ajoutez du texte à l'une des cellules de NamedRange et appuyez sur ENTRÉE.

Cette version est destinée à une personnalisation au niveau du document.

Private changesRange As Microsoft.Office.Tools.Excel.NamedRange

Private Sub NotifyChanges()
    changesRange = Me.Controls.AddNamedRange( _
        Me.Range("B2", "E5"), "compositeRange")
    AddHandler changesRange.Change, _
        AddressOf changesRange_Change
End Sub


Sub changesRange_Change(ByVal Target As Excel.Range)
    Dim cellAddress As String = Target.Address(, , _
        Microsoft.Office.Interop.Excel.XlReferenceStyle.xlA1, , )
    MessageBox.Show("Cell " & cellAddress & " changed.")
End Sub
Microsoft.Office.Tools.Excel.NamedRange changesRange;
private void NotifyChanges()
{
    changesRange = this.Controls.AddNamedRange(
        this.Range["B2", "E5"], "compositeRange");
    changesRange.Change += new Microsoft.Office.Interop.Excel.
        DocEvents_ChangeEventHandler(changesRange_Change);
}

void changesRange_Change(Excel.Range Target)
{
    string cellAddress = Target.get_Address(missing, missing, 
        Microsoft.Office.Interop.Excel.XlReferenceStyle.xlA1,
        missing, missing);
    MessageBox.Show("Cell " + cellAddress + " changed.");
}

Cette version est destinée à un complément d'application.

Private changesRange As NamedRange

Private Sub NotifyChanges()
    Dim vstoWorksheet As Worksheet = CType( _
        Me.Application.ActiveWorkbook.Worksheets(1),  _
        Excel.Worksheet).GetVstoObject()
    changesRange = vstoWorksheet.Controls.AddNamedRange( _
        vstoWorksheet.Range("B2", "E5"), "compositeRange")
    AddHandler changesRange.Change, _
        AddressOf changesRange_Change
End Sub


Sub changesRange_Change(ByVal Target As Excel.Range)
    Dim cellAddress As String = Target.Address(, , _
        Excel.XlReferenceStyle.xlA1, , )
    System.Windows.Forms.MessageBox.Show("Cell " & cellAddress & " changed.")
End Sub
NamedRange changesRange;
private void NotifyChanges()
{
    Worksheet vstoWorksheet = ((Excel.Worksheet)
        this.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
    changesRange = vstoWorksheet.Controls.AddNamedRange(
        vstoWorksheet.Range["B2", "E5"], "compositeRange");
    changesRange.Change += new Excel.DocEvents_ChangeEventHandler(
        changesRange_Change);
}

void changesRange_Change(Excel.Range Target)
{
    string cellAddress = Target.get_Address(missing, missing,
        Excel.XlReferenceStyle.xlA1,
        missing, missing);
    System.Windows.Forms.MessageBox.Show("Cell " + cellAddress +
        " changed.");
}

Autorisations

Voir aussi

Référence

NamedRange, classe

Membres NamedRange

Microsoft.Office.Tools.Excel, espace de noms

Historique des modifications

Date

Historique

Raison

Juillet 2008

Ajout d'une version de l'exemple de code pour un complément d'application.

Modifications de fonctionnalités dans le SP1.