oDesktop = UNO.createDesktop()
xComponentLoader = oDesktop~XDesktop~XComponentLoader
url = "private:factory/scalc"
xCalcComponent = xComponentLoader~loadComponentFromURL(url, "_blank", 0, .UNO~noProps)
xDocument = xCalcComponent~XSpreadSheetDocument
xSheet = xDocument~getSheets~XIndexAccess~getByIndex(0)~XSpreadSheet
CALL UNO.setCell xSheet, 0, 0, "1"
CALL UNO.setCell xSheet, 0, 1, "2"
CALL UNO.setCell xSheet, 0, 2, "3"
CALL UNO.setCell xSheet, 0, 3, "4"
CALL UNO.setCell xSheet, 0, 4, "5"
CALL UNO.setCell xSheet, 0, 5, "6"
CALL UNO.setCell xSheet, 0, 6, "7"
CALL UNO.setCell xSheet, 0, 7, "8"
CALL syssleep 4
myRange = xSheet~XCellRange~getCellRangeByName("A1:A7")
xFilter = myRange~XSheetFilterable
xFilterDesc = xFilter~createFilterDescriptor(.true)
CALL UNO.loadClass "com.sun.star.sheet.TableFilterField"
aFilterFields = bsf.createArray(.UNO~TableFilterField, 1)
aFilterFields[1] = .UNO~TableFilterField~new
aFilterFields[1]~Field = 0
aFilterFields[1]~IsNumeric = true
aFilterFields[1]~Operator = bsf.getConstant("com.sun.star.sheet.FilterOperator","GREATER_EQUAL")
aFilterFields[1]~NumericValue = 5
xFilterDesc~setFilterFields(aFilterFields)
xFilterDesc~xPropertySet~setPropertyValue("ContainsHeader", box("boolean", .false))
xFilter~filter(xFilterDesc)
::requires UNO.CLS