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
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"].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");
}
}
.NET Framework セキュリティ
- 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。