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
- targetRange
Tipo: Microsoft.Office.Interop.Excel.Range
The Range que a alterar ocorreu no.
- changedRanges
Tipo: Microsoft.Office.Tools.Excel.ListRanges
As áreas do ListObject que contenham as alterações.
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;
}
}