[RESUELTO]Macro para trabajar con Tabla Dinamica

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
Villanoj
Mensajes: 4
Registrado: Jue May 12, 2016 5:58 am

[RESUELTO]Macro para trabajar con Tabla Dinamica

Mensaje por Villanoj »

He buscado en el foro informacion sobre como trabajar con tablas dinamicas y "filtrarlas" pero sin usar filtros ,solo haciendo visible lo que quiero que se vea en la tabla.Esto es como seleccionar manualmente del dropbox lo que quiero que se vea en la tabla y no encontrado nada , solo informacion de filtros.
En el API se habla de DataPilotItem y la propiedad isHiden solo que no e encontrado ejemplos de como usar esta opcion en una tabla dinamica.
Cualquier ayuda o tip se agradeceria mucho.

Saludos.
Última edición por Villanoj el Sab May 14, 2016 2:28 am, editado 2 veces en total.
Openoffice 4.1.2 WIndows 7 Pro.
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Macro para trabajar con Tabla Dinamica

Mensaje por mauricio »

Este tema ya se ha tratado en estos foros, una sencilla búsqueda te habría dado la respuesta.
https://forum.openoffice.org/es/forum/v ... 50&t=11998

Saludos
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Villanoj
Mensajes: 4
Registrado: Jue May 12, 2016 5:58 am

Re: Macro para trabajar con Tabla Dinamica

Mensaje por Villanoj »

Como lo indique en la pregunta , eso es lo que e encontrado y no es por lo que pregunte.
En palabras sencillas , quiero hacer "filtros" (entre comillas) sin usar filtros. Quiero usar la opcion de hacer visibles o invisibles el contenido de la tabla dinamica.
Lo mismo que poner la palomita o quitar la palomita en los resultados de la tabla manualmente pero usando macro.
Segun el API se hace con DataPilotItem cambiando la propiedad isHidden , lo que no e podido encontrar son ejemplos de como usar este servicio y aplicar el cambio a la propiedad.

Los filtros no me han servido porque necesito cambiar y dejar visibles varios Items de la tabla en 3 o 4 campos diferentes.

Espero explicar bien lo que ando buscando.

Saludos.
Openoffice 4.1.2 WIndows 7 Pro.
Avatar de Usuario
mauricio
Mensajes: 6093
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Macro para trabajar con Tabla Dinamica

Mensaje por mauricio »

Como lo indico en mi respuesta... ya esta respondido... ¿probaste el código mostrado?...
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Villanoj
Mensajes: 4
Registrado: Jue May 12, 2016 5:58 am

Re: Macro para trabajar con Tabla Dinamica

Mensaje por Villanoj »

Ya e probado multiples combinaciones de filtros como el de tu ejemplo y no dan lo que requiero ya que al aplicar el filtro al campo 2 se quita el del campo 1 y viceversa , por eso ando buscando trabajar con hacer visibles o invisibles los campos .
Creo que es lo mismo que te preguntaron en el link que enviaste al final solo que ya no se respondio.

En excel este codigo hace el truco:

For Each oPI In HojaExcel.PivotTables("Vehiculos").PivotFields("COLOR").PivotItems
Select Case oPI.Name
Case "ROJO", "VERDE", "AZUL"
Case Else
oPI.Visible = False
End Select
Next oPI

Ando buscando algo similar para openoffice.
Openoffice 4.1.2 WIndows 7 Pro.
Avatar de Usuario
fornelasa
Mensajes: 3268
Registrado: Jue Feb 17, 2011 8:30 pm
Ubicación: Estado de México, México.

Re: Macro para trabajar con Tabla Dinamica

Mensaje por fornelasa »

Una posible opción:

Código: Seleccionar todo

Sub bTabla
		oDoc = ThisComponent.CurrentController
		hoja = oDoc.ActiveSheet
	     oTD = hoja.getDataPilotTables.GetByName("Vehiculos")
   	   campo = oTD.RowFields.GetByName("COLOR")
       For i = 0 To (campo.GetItems.count - 1)
       		Select Case campo.GetItems.getByIndex(i).Name
       	    Case "ROJO", "VERDE", "AZUL"
            Case Else
       	       campo.GetItems.getByIndex(i).IsHidden = True
     		End Select
       Next
End Sub
En caso de no ser así por favor anexa archivo ejemplo.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Villanoj
Mensajes: 4
Registrado: Jue May 12, 2016 5:58 am

Macro para trabajar con Tabla Dinamica

Mensaje por Villanoj »

Excelente , esto era exactamente lo que andaba buscando.
Muchas gracias Federico.
Openoffice 4.1.2 WIndows 7 Pro.
Responder