Hola compañeros:
He intentado inútilmente correr una macro de la hoja de cálculo de M$Office en nuestro querido Calc 3.0. Se trata de un filtro avanzado. Y aunque ya contamos con Option VBASupport en el editor de basic, simplemente no corre.
He hecho filtros avanzados en Calc sin problema, pero cuando intento grabarlos en una macro, el código se escribe, pero no corre.
¿Alguien ha tenido éxito en algo parecido?
Saludos cordiales
Hmonroy
Filtros avanzados en macros
Re: Filtros avanzados en macros
Nos vamos al foro de Calc.
No respondo mensajes privados sobre AOO/LibO, por favor, utilice el foro para sus preguntas
LibreOffice en openSUSE con escritorio Plasma
---
Existen dos clases de personas: las que dicen que existen dos clases de personas y las que no.
LibreOffice en openSUSE con escritorio Plasma
---
Existen dos clases de personas: las que dicen que existen dos clases de personas y las que no.
Re: Filtros avanzados en macros
Documentación en inglés
http://api.openoffice.org/docs/common/r ... Field.html
http://api.openoffice.org/docs/common/r ... rator.html
http://api.openoffice.org/docs/common/r ... Field.html
http://api.openoffice.org/docs/common/r ... rator.html
Código: Seleccionar todo
Dim Campos(3) as New com.sun.star.sheet.TableFilterField
Sheet = ThisComponent.Sheets.getByIndex(0)
Cellrange = Sheet.getCellRangeByPosition(1,0,3,15) 'B1:D16
FDescript = Cellrange.createFilterDescriptor(True)
REM (Coumna B = 1 y Columna C = 7) o (Columna B = 2 y Columna C = 8)
Campos(0).Field = 0
Campos(0).Operator = com.sun.star.sheet.FilterOperator.EQUAL
Campos(0).IsNumeric = TRUE
Campos(0).NumericValue = 1 'Columna B = 1
Campos(1).Connection = com.sun.star.sheet.FilterConnection.AND
Campos(1).Field = 1
Campos(1).Operator = com.sun.star.sheet.FilterOperator.EQUAL
Campos(1).IsNumeric = TRUE
Campos(1).NumericValue = 7 'y columna C = 7
Campos(2).Connection = com.sun.star.sheet.FilterConnection.OR
Campos(2).Field = 0
Campos(2).Operator = com.sun.star.sheet.FilterOperator.EQUAL
Campos(2).IsNumeric = TRUE
Campos(2).NumericValue = 2 'o columna B = 2
Campos(3).Connection = com.sun.star.sheet.FilterConnection.AND
Campos(3).Field = 1
Campos(3).Operator = com.sun.star.sheet.FilterOperator.EQUAL
Campos(3).IsNumeric = TRUE
Campos(3).NumericValue = 8 'y columna C = 8
FDescript.setFilterFields(Campos())
Cellrange.Filter(FDescript)