Compartilhar via


ListObjectChangeHandler delegado (sistema de 2007)

Representa o método que manipulará o Change evento de um ListObject.

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

Sintaxe

Public Delegate Sub ListObjectChangeHandler ( _
    targetRange As Range, _
    changedRanges As ListRanges _
)

Dim instance As New ListObjectChangeHandler(AddressOf HandlerMethod)
public delegate void ListObjectChangeHandler(
    Range targetRange,
    ListRanges changedRanges
)

Parâmetros

Comentários

Quando você cria um ListObjectChangeHandler delegado, você identifica o método que manipulará o evento. Para associar o evento seu manipulador de eventos, adicione uma instância do delegado ao evento.O método do manipulador de eventos é chamado sempre que o evento ocorre, a menos que você remova o delegado.Para obter mais informações sobre delegados, consulte Eventos e representantes.

Exemplos

O exemplo de código a seguir cria um ListObject e um Change manipulador de eventos. Para elevar o Change evento, adicionar texto a uma das células da ListObject e, em seguida, pressione ENTER.

WithEvents ChangeList As Microsoft.Office.Tools.Excel.ListObject
PrivateSub ListObject_Change()
    ChangeList = Me.Controls.AddListObject( _
        Me.Range("A1", "C4"), "ChangeList")
EndSubSub List1_Change(ByVal targetRange As _
    Microsoft.Office.Interop.Excel.Range, _
    ByVal changedRanges As Microsoft.Office.Tools.Excel.ListRanges) _
    Handles ChangeList.Change

    Dim cellAddress AsString = targetRange.Address( _
        ReferenceStyle:=Excel.XlReferenceStyle.xlA1)

    SelectCase changedRanges
        Case Microsoft.Office.Tools.Excel.ListRanges.DataBodyRange
            MsgBox("The cells at range " & cellAddress & _
                " in the data body changed.")
        Case Microsoft.Office.Tools.Excel.ListRanges.HeaderRowRange
            MsgBox("The cells at range " & cellAddress & _
                " in the header row changed.")
        Case Microsoft.Office.Tools.Excel.ListRanges.TotalsRowRange
            MsgBox("The cells at range " & cellAddress & _
                " in the totals row changed.")
        CaseElse
            MsgBox("The cells at range " & cellAddress & _
                " changed.")
    EndSelectEndSub
privatevoid ListObject_Change()
{
    Microsoft.Office.Tools.Excel.ListObject list1 = 
        this.Controls.AddListObject(
        this.Range["A1", "C4"], "list1");
    list1.Change += new Microsoft.Office.Tools.Excel.
        ListObjectChangeHandler(list1_Change);
}

void list1_Change(Microsoft.Office.Interop.Excel.Range 
    targetRange, Microsoft.Office.Tools.Excel.ListRanges 
    changedRanges)
{
    string cellAddress = targetRange.get_Address(
        missing, missing, Excel.XlReferenceStyle.xlA1, 
        missing, missing);

    switch (changedRanges)
    {
        case Microsoft.Office.Tools.Excel.ListRanges.DataBodyRange:
            MessageBox.Show("The cells at range " + cellAddress +
                " in the data body changed.");
            break;
        case Microsoft.Office.Tools.Excel.ListRanges.HeaderRowRange:
            MessageBox.Show("The cells at range " + cellAddress +
                " in the header row changed.");
            break;
        case Microsoft.Office.Tools.Excel.ListRanges.TotalsRowRange:
            MessageBox.Show("The cells at range " + cellAddress +
                " in the totals row changed.");
            break;
        default:
            MessageBox.Show("The cells at range " + cellAddress +
                " changed.");
            break;
    }
}

Consulte também

Referência

Namespace Microsoft.Office.Tools.Excel