Share via


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 變更出現在 ListObjectDataBodyRange 中。
HeaderRowRange 變更出現在 ListObjectHeaderRowRange 中。
None 變更未出現在 DataBodyRangeHeaderRowRangeTotalsRowRange 中。
TotalsRowRange 變更出現在 ListObjectTotalsRowRange 中。

備註

ListRanges 列舉型別 (Enumeration) 由 ListObjectChangeHandler 委派 (Delegate) 的其中一個參數使用。

範例

下列程式碼範例會建立 ListObjectChange 事件的事件處理常式。 事件處理常式會使用 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;
    }
}

請參閱

參考

Microsoft.Office.Tools.Excel 命名空間