WorksheetBase.AutoFilter 속성
필터링이 사용되는 경우 워크시트의 필터링된 목록에 대한 정보를 제공하는 Microsoft.Office.Interop.Excel.AutoFilter를 가져옵니다. 필터링이 해제되어 있으면 nullNull 참조(Visual Basic의 경우 Nothing)을 가져옵니다.
네임스페이스: Microsoft.Office.Tools.Excel
어셈블리: Microsoft.Office.Tools.Excel.v4.0.Utilities(Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
구문
‘선언
Public ReadOnly Property AutoFilter As AutoFilter
Get
public AutoFilter AutoFilter { get; }
속성 값
형식: Microsoft.Office.Interop.Excel.AutoFilter
필터링이 사용되면 워크시트의 필터링된 목록에 대한 정보를 제공하는 Microsoft.Office.Interop.Excel.AutoFilter이고, 그렇지 않으면 nullNull 참조(Visual Basic의 경우 Nothing)입니다.
설명
프로그래밍 방식으로 필터링을 사용하려면 Range 개체의 AutoFilter 메서드나 NamedRange 개체의 AutoFilter 메서드를 사용합니다.
예제
다음 코드 예제에서는 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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.
참고 항목
참조
Microsoft.Office.Tools.Excel 네임스페이스
AutoFilter