WorksheetBase.AutoFilterMode 屬性
取得或設定值,該值表示目前是否啟用了工作表的篩選功能 (意即目前是否顯示了篩選下拉式箭頭)。
命名空間: Microsoft.Office.Tools.Excel
組件: Microsoft.Office.Tools.Excel.v4.0.Utilities (在 Microsoft.Office.Tools.Excel.v4.0.Utilities.dll 中)
語法
'宣告
Public Property AutoFilterMode As Boolean
Get
Set
public bool AutoFilterMode { get; set; }
屬性值
型別:System.Boolean
如果目前已經啟用了工作表的篩選功能,則為 true,否則為 false。
例外狀況
例外狀況 | 條件 |
---|---|
COMException | 此屬性設定為 true。 |
備註
您可以將這個屬性設定為 false 以停用篩選 (也就是要移除篩選下拉式箭號),但不能設定它為 true。 若要啟用篩選及建立篩選清單,請使用 Range 物件的 AutoFilter 方法,或者使用 NamedRange 物件的 AutoFilter 方法。
這個屬性只指出是否已啟用篩選;它並不表示是否正在篩選任何資料。 若要判斷工作表是否為正在進行的篩選資料,請使用 FilterMode 屬性。
範例
在下列程式碼範例中,建立了以 Range 範圍篩選的水果清單,然後使用 AutoFilter 屬性顯示清單的篩選準則。 這個範例接著會提示使用者利用 AutoFilterMode 屬性關閉篩選,最後再使用 FilterMode 屬性顯示工作表是否有篩選的清單。
這是示範文件層級自訂的範例。
Private Sub ActivateAutoFilter()
Me.Range("A1").Value2 = "Fruits"
Me.Range("A2").Value2 = "Banana"
Me.Range("A3").Value2 = "Apple"
Me.Range("A4").Value2 = "Banana"
Me.Range("A5").Value2 = "Orange"
Me.Range("A6").Value2 = "Apple"
Me.Range("A7").Value2 = "Orange"
Dim NamedRange1 As Microsoft.Office.Tools.Excel.NamedRange = _
Me.Controls.AddNamedRange(Me.Range("A1", "A7"), "NamedRange1")
NamedRange1.AutoFilter(1, "Apple", Excel.XlAutoFilterOperator.xlAnd, _
VisibleDropDown:=True)
MsgBox("The current criteria for the AutoFilter is: " & _
Me.AutoFilter.Filters(1).Criteria1.ToString())
If Me.AutoFilterMode Then
If DialogResult.Yes = MessageBox.Show("Would you like to " & _
"turn off the filter?", "Example", MessageBoxButtons.YesNo) Then
Me.AutoFilterMode = False
End If
End If
If Me.FilterMode Then
MsgBox("The worksheet has a filtered list.")
Else
MsgBox("The worksheet does not have a filtered list")
End If
End Sub
private void ActivateAutoFilter()
{
this.Range["A1", missing].Value2 = "Fruits";
this.Range["A2", missing].Value2 = "Banana";
this.Range["A3", missing].Value2 = "Apple";
this.Range["A4", missing].Value2 = "Banana";
this.Range["A5", missing].Value2 = "Orange";
this.Range["A6", missing].Value2 = "Apple";
this.Range["A7", missing].Value2 = "Orange";
Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =
this.Controls.AddNamedRange(this.Range["A1", "A7"],
"NamedRange1");
NamedRange1.AutoFilter(1, "Apple",
Excel.XlAutoFilterOperator.xlAnd, missing, 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");
}
}
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。