ListObject.Change Olay
Bir şey olarak değiştiğinde gerçekleşir ListObject denetim.
Ad alanı: Microsoft.Office.Tools.Excel
Derleme: Microsoft.Office.Tools.Excel (Microsoft.Office.Tools.Excel.dll içinde)
Sözdizimi
'Bildirim
Event Change As ListObjectChangeHandler
event ListObjectChangeHandler Change
Notlar
Bu olay, ortaya ListObject denetim programlı değişikliği veya kullanıcı etkileşimi tarafından değiştirildi.
Hücreleri yeniden hesaplama sırasında değiştirdiğinizde bu olay oluşmaz.
Örnekler
Aşağıdaki kod örneği oluşturur bir ListObject ve Change olay işleyicisi.Yükseltmek için Change olay, bir hücrelerde metin eklemek ListObject yazıp ENTER tuşuna basın.
Belge düzeyi özelleştirmesinde sürümüdür.
WithEvents ChangeList As Microsoft.Office.Tools.Excel.ListObject
Private Sub ListObject_Change()
ChangeList = Me.Controls.AddListObject( _
Me.Range("A1", "C4"), "ChangeList")
End Sub
Sub List1_Change(ByVal targetRange As _
Microsoft.Office.Interop.Excel.Range, _
ByVal changedRanges As Microsoft.Office.Tools.Excel.ListRanges) _
Handles ChangeList.Change
Dim cellAddress As String = targetRange.Address( _
ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
Select Case 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.")
Case Else
MsgBox("The cells at range " & cellAddress & _
" changed.")
End Select
End Sub
private void 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(
Excel.XlReferenceStyle.xlA1
);
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;
}
}
Bir uygulama düzeyi eklentisi değildir.
WithEvents ChangeList As ListObject
Private Sub ListObject_Change()
Dim NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
Me.Application.Worksheets(1)
Dim vstoWorksheet As Microsoft.Office.Tools.Excel.Worksheet =
Globals.Factory.GetVstoObject(NativeWorksheet)
ChangeList = vstoWorksheet.Controls.AddListObject( _
vstoWorksheet.Range("A1", "C4"), "ChangeList")
End Sub
Sub List1_Change(ByVal targetRange As _
Microsoft.Office.Interop.Excel.Range, _
ByVal changedRanges As Microsoft.Office.Tools.Excel.ListRanges) _
Handles ChangeList.Change
Dim cellAddress As String = targetRange.Address( _
ReferenceStyle:=Excel.XlReferenceStyle.xlA1)
Select Case changedRanges
Case ListRanges.DataBodyRange
MsgBox("The cells at range " & cellAddress & _
" in the data body changed.")
Case ListRanges.HeaderRowRange
MsgBox("The cells at range " & cellAddress & _
" in the header row changed.")
Case ListRanges.TotalsRowRange
MsgBox("The cells at range " & cellAddress & _
" in the totals row changed.")
Case Else
MsgBox("The cells at range " & cellAddress & _
" changed.")
End Select
End Sub
private void ListObject_Change()
{
Worksheet vstoWorksheet =
Globals.Factory.GetVstoObject(this.Application.ActiveWorkbook.Worksheets[1]);
ListObject list1 =
vstoWorksheet.Controls.AddListObject(
vstoWorksheet.Range["A1", "C4"], "list1");
list1.Change += new ListObjectChangeHandler(list1_Change);
}
void list1_Change(Microsoft.Office.Interop.Excel.Range
targetRange, Microsoft.Office.Tools.Excel.ListRanges
changedRanges)
{
string cellAddress = targetRange.get_Address(
Excel.XlReferenceStyle.xlA1);
switch (changedRanges)
{
case ListRanges.DataBodyRange:
System.Windows.Forms.MessageBox.Show("The cells at range " + cellAddress +
" in the data body changed.");
break;
case ListRanges.HeaderRowRange:
System.Windows.Forms.MessageBox.Show("The cells at range " + cellAddress +
" in the header row changed.");
break;
case ListRanges.TotalsRowRange:
System.Windows.Forms.MessageBox.Show("The cells at range " + cellAddress +
" in the totals row changed.");
break;
default:
System.Windows.Forms.MessageBox.Show("The cells at range " + cellAddress +
" changed.");
break;
}
}
.NET Framework Güvenliği
- Anında arayanlar için tam güven. Bu üye kısmen güvenilen kodla kullanılamaz. Daha fazla bilgi için bkz. Kısmen Güvenilen Koddan Kitaplıkları Kullanma.