[RESUELTO]Macro Llenar un cuadro comb. con rango de datos

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...

[RESUELTO]Macro Llenar un cuadro comb. con rango de datos

Notapor alexisarteta » Mar Sep 26, 2017 2:43 pm

Buenas, vuelvo a abrir mi caso para llenar el cuadro combinado, ya que de los ejemplos que anteriormente utilice explican como llenarlo con un Array pero necesito llenarlo con un rango de datos de una columna, esta columna posee datos duplicados, y quiiero que solo salgan los datos sin duplicarse y sin filas en blanco, ejemplo

Columna G
Cobrador
JAM MOLINA
<-------------------------Fila en blanco
RAFAEL MENA <-----------------------------------dato duplicado
JAM MOLINA<-------------------------Dato duplicado
GALY ALVAREZ
JAM MOLINA
HECTOR DARIO BULA
MENSAJERIA DRISTRIENVIOS S.A.S.
DANNY ALTAMIRANDA
DANIEL PEREZ <---------------------------------dato duplicado
DANIEL PEREZ
RAFAEL MENA

en el cuadro combinado deberia solo estar estos datos sin la fila vacia y sin los duplicados, y adicionalmente, la primera opcion del combo debe ser "MOSTRAR TODOS"

El cuadro Combinado esta directamente sobre la hoja de calc, no esta dentro de un formulario de dialogo.

lo he estado intentando de esta manera pero no funciona

Código: Seleccionar todo   Expandir vistaContraer vista
Arraydep = ThisComponent.Sheets.getByName("Maestro").getCellRangeByName("G8:G15")
oForm.getByName("ComboDep").StringItemList = ArrayDep

gracias..
Última edición por alexisarteta el Lun Oct 02, 2017 4:11 pm, editado 1 vez en total
OpenOffice 3.3.0 en Windows 7 Profesional
alexisarteta
 
Mensajes: 23
Registrado: Mié Sep 20, 2017 2:11 pm

Re: Macro Llenar un cuadro combinado con rango de datos,sin

Notapor mauricio » Mar Sep 26, 2017 4:27 pm

me parece (reitero el me parece), un error grave de diseño tener datos duplicados, si tu lista es una lista con otros valores, es posible que esto sea correcto, pero no lo es que intentes de esta lista, llenar un control. Esto solo te complica el código y te da espacio para errores futuros, mi recomendación es que rediseñes tus datos, o primero filtres en otra área y de esta tomes los datos.

Ahora, para llenar los datos:
Si tu haces:
Código: Seleccionar todo   Expandir vistaContraer vista
Arraydep = ThisComponent.Sheets.getByName("Maestro").getCellRangeByName("G8:G15")

Lo que tienes en Arraydep es un objeto "rango de celdas", NO los valores de las celdas.

Como trabajar con celdas y su datos esta ampliamente documentado, por aca:
https://wiki.openoffice.org/wiki/ES/Man ... ndoConCalc

Los controles de formulario aceptan rangos de datos, documentado también en el wiki, pero en tu caso no servirá al tener valores duplicados.

pero... si de algo sirve... no usen Basic, es mejor usar Python.

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
AOO 4.1 | LibO 6.1.5 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Avatar de Usuario
mauricio
 
Mensajes: 5787
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: México, D.F.


Volver a Macros y API UNO

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 9 invitados