サービス
サービスを探す
プロ人材を探す
仕事を探す
ブログを探す
Dim オートフィルタ As Object
オートフィルタ = シート.createFilterDescriptor(True)
オートフィルタ.ContainsHeader = True
Dim フィルタ条件の配列(条件数 - 1) As New com.sun.star.sheet.TableFilterField
With フィルタ条件の配列(0)
.Field = 列番号
条件
End With
...
オートフィルタ.setFilterFields(フィルタ条件の配列())
セル範囲の左端が 0
セル範囲.filter(オートフィルタ)
※ セル範囲にはヘッダ行を含めること
Dim オートフィルタ As Object
オートフィルタ = シート.createFilterDescriptor(True)
セル範囲.filter(オートフィルタ)
With フィルタ条件の配列(i)
.Field = 列番号
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
.StringValue = "文字列"
End With
オートフィルタ.UseRegularExpressions = True
With フィルタ条件の配列(i)
.Field = 列番号
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
.StringValue = "正規表現"
End With
With フィルタ条件の配列(i)
.Field = 列番号
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
.IsNumeric = True
.NumericValue = 数値
End With
With フィルタ条件の配列(0)
.Field = 列番号
条件
End With
With フィルタ条件の配列(1)
.Field = 列番号
条件
.Connection = com.sun.star.sheet.FilterConnection.OR
End With
...
※ 2つ目以降の条件にOR条件を追加すること
Dim 配列 As Variant
配列 = Array(値1, ...)
Dim フィルタ条件の配列(UBound(配列)) As New com.sun.star.sheet.TableFilterField
For i = 0 To UBound(配列)
With フィルタ条件の配列(i)
.Field = 列番号
条件
If i > 0 Then
.Connection = com.sun.star.sheet.FilterConnection.OR
End If
End With
Next