Propriedade WorksheetBase.FilterMode
Obtém um valor que indica se a planilha esteja filtrando ativamente dados.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel.v4.0.Utilities (em Microsoft.Office.Tools.Excel.v4.0.Utilities.dll)
Sintaxe
'Declaração
Public ReadOnly Property FilterMode As Boolean
Get
public bool FilterMode { get; }
Valor de propriedade
Tipo: System.Boolean
true Se a planilha esteja filtrando ativamente os dados; Caso contrário, false.
Comentários
Para determinar se a filtragem está ativada no momento (ou seja, se as setas suspensas de filtro são exibidas na planilha), use o AutoFilterMode propriedade.
Para habilitar a filtragem e criar uma lista filtrada, use o AutoFilter método de um Range objeto ou use o AutoFilter o método de um NamedRange objeto.
Esta propriedade é true se a planilha contiver uma lista filtrada na qual existem linhas ocultas.
Exemplos
O exemplo de código a seguir cria uma lista filtrada de frutas em um Rangee usa o AutoFilter propriedade para exibir os critérios de filtro da lista. O exemplo solicita que o usuário desativar o filtro usando o AutoFilterMode propriedade e, por fim, usa o FilterMode propriedade para especificar se a planilha tem uma lista filtrada.
Este exemplo é para uma personalização em nível de documento.
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");
}
}
Segurança do .NET Framework
- Confiança total para o chamador imediato. O membro não pode ser usado por código parcialmente confiável. Para obter mais informações, consulte Usando bibliotecas de código parcialmente confiáveis.