Haz tu Pregunta
0

Puedo crear una macro para actualizar tablas dinámicas?

preguntado 2017-12-13 13:15:38 +0100

Imagen Gravatar de paco

Tengo varias tablas dinámicas creadas que toman datos de una misma base de datos, y me interesaría crear una macro para actualizar todas las tablas dinámicas a la vez. El caso es que creo la macro, pero después al ejecutarlo no funciona, o sea no se actualizan las tablas.

edit re-etiquetar marcar como ofensivo cerrar fusionar delete

2 Respuestas

Ordenar por » viejos nuevas más votado
0

respondido 2017-12-13 16:31:20 +0100

Imagen Gravatar de m.a.riosv

Creo que en este hilo del foro inglés de AOo puedes encontrar lo que buscas.

Autorefresh DataPilot Tables

edit marcar como ofensivo delete enlace mas
0

respondido 2017-12-14 00:33:51 +0100

updated 2017-12-14 00:35:50 +0100

Actualiza la tabla dinámica informando una celda de la tabla.

'=========================================================================
sub AtualizarTabelaDimamicaCel (x as string)
' exemplo uso: AtualizarTabelaDinamicaCel "Planilha1.c7"
' observação: indicar uma célula da Tabela Dinâmica.
'=========================================================================
Dim document As Object
Dim dispatcher As Object
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = x 'indicar uma célula da Tabela Dinâmica.
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:RecalcPivotTable", "", 0, Array())
end sub

Actualiza la tabla dinámica informando el número de la tabla.

'=========================================================================
Sub AtualizaTabelaDinamicaN (x as integer)
'exemplo uso: AtualizarTabelaDinamicaN 1
' observação: indicar o numero da Tabela Dinâmica.
'=========================================================================
'   Atualiza Tabela Dinâmica (por Grafeno)
rem ----------------------------------------------------------------------
Dim PlanAtiva as Object
Dim TabDinam1 as Object
'Obter a Planilha Ativa e a Tabela Dinâmica
PlanAtiva = ThisComponent.getCurrentController.getActiveSheet()
TabDinam1 = PlanAtiva.DataPilotTables.getByIndex(x) 'x = Numero Tabela
'Atualizar a Tabela Dinâmica
TabDinam1.refresh()
End sub
edit marcar como ofensivo delete enlace mas
Ingresa/Regístrate para Contestar

Herramientas de Preguntas

1 seguidor

Estadisticas

Preguntado: 2017-12-13 13:15:38 +0100

Visto: 263 veces

Ultima actualización: Dec 14 '17