本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

WorksheetBase.AutoFilterMode 屬性

 

取得或設定值,該值表示目前是否啟用了工作表的篩選功能 (意即目前是否顯示了篩選下拉式箭頭)。

命名空間:   Microsoft.Office.Tools.Excel
組件:  Microsoft.Office.Tools.Excel.v4.0.Utilities (在 Microsoft.Office.Tools.Excel.v4.0.Utilities.dll 中)

public bool AutoFilterMode { get; set; }

屬性值

Type: System.Boolean

如果目前已經啟用了工作表的篩選功能,則為 true,否則為 false

Exception Condition
COMException

此屬性設定為 true

您可以將這個屬性設定為 false 以停用篩選 (也就是要移除篩選下拉式箭號),但不能設定它為 true 若要啟用篩選及建立篩選清單,請使用 Range 物件的 AutoFilter 方法,或者使用 NamedRange 物件的 AutoFilter 方法。

這個屬性只指出是否已啟用篩選;它並不表示是否正在篩選任何資料。 若要判斷工作表是否為正在進行的篩選資料,請使用 FilterMode 屬性。

在下列程式碼範例中,建立了以 Range 範圍篩選的水果清單,然後使用 AutoFilter 屬性顯示清單的篩選準則。 這個範例接著會提示使用者利用 AutoFilterMode 屬性關閉篩選,最後再使用 FilterMode 屬性顯示工作表是否有篩選的清單。

這是示範文件層級自訂的範例。

private void ActivateAutoFilter()
{
    this.Range["A1"].Value2 = "Fruits";
    this.Range["A2"].Value2 = "Banana";
    this.Range["A3"].Value2 = "Apple";
    this.Range["A4"].Value2 = "Banana";
    this.Range["A5"].Value2 = "Orange";
    this.Range["A6"].Value2 = "Apple";
    this.Range["A7"].Value2 = "Orange";

    Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", "A7"],
        "NamedRange1");

    NamedRange1.AutoFilter(1, "Apple",
       Excel.XlAutoFilterOperator.xlAnd, true);

    MessageBox.Show("The current criteria for the AutoFilter is: " +
        this.AutoFilter.Filters[1].Criteria1.ToString());

    if (this.AutoFilterMode)
    {
        if (DialogResult.Yes == MessageBox.Show("Would you like to " +
            "turn off the filter?", "Example", MessageBoxButtons.YesNo))
        {
            this.AutoFilterMode = false;
        }
    }

    if (this.FilterMode)
    {
        MessageBox.Show("The worksheet has a filtered list.");
    }
    else
    {
        MessageBox.Show("The worksheet does not have a filtered list");
    }
}
回到頁首
顯示: