ListRanges 列挙体
変更されている ListObject の範囲を指定します。
この列挙体には、メンバー値のビットごとの組み合わせを可能にする FlagsAttribute 属性が含まれています。
名前空間: Microsoft.Office.Tools.Excel
アセンブリ: Microsoft.Office.Tools.Excel (Microsoft.Office.Tools.Excel.dll 内)
構文
'宣言
<FlagsAttribute> _
Public Enumeration ListRanges
[FlagsAttribute]
public enum ListRanges
メンバー
メンバー名 | 説明 | |
---|---|---|
DataBodyRange | 変更が ListObject の DataBodyRange で発生しました。 | |
HeaderRowRange | 変更が ListObject の HeaderRowRange で発生しました。 | |
None | 変更は、DataBodyRange、HeaderRowRange、または TotalsRowRange で発生しませんでした。 | |
TotalsRowRange | 変更が ListObject の TotalsRowRange で発生しました。 |
解説
ListRanges列挙体は、ListObjectChangeHandler デリゲートのパラメーターの 1 つで使用されます。
例
次のコード例では、ListObject を作成するほか、Change イベント用のイベント ハンドラーも作成します。イベント ハンドラーは ListRanges 値を使用して、変更された範囲の場所を表示します。Change イベントを発生させるには、ListObject のいずれかのセルにテキストを追加し、Enter キーを押します。
この例は、ドキュメント レベルのカスタマイズ用に作成されています。
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;
}
}