Nem de propósito, mal tínhamos completado o artigo anterior, descobrimos a macro necessária para actualizar automaticamente todas as tabelas dinâmicas de uma folha de cálculo do CALC (só em inglês conseguimos encontrar)
Pedindo desculpa por não saber a autoria, ela aí fica:
REM ***** BASIC *****
Sub refresh_DBRanges_And_Pilots
REM disable auto-calculation:
bAutoCalc = thisComponent.IsAutomaticCalculationEnabled
thisComponent.enableAutomaticCalculation(False)
oDBRangesEnum = thisComponent.DatabaseRanges.createEnumeration()
refresh_Enumeration(oDBRangesEnum)
oSheetsEnum = thisComponent.Sheets.createEnumeration()
refresh_All_DataPilots(oSheetsEnum)
REM reset auto-calculation to previous state:
thisComponent.enableAutomaticCalculation(bAutoCalc)
End Sub
Sub refresh_All_DataPilots(oSheetsEnum)
REM Bug: Disregards pilots created from datasource
while oSheetsEnum.hasMoreElements()
oSheet = oSheetsEnum.nextElement()
oDPEnum = oSheet.DataPilotTables.createEnumeration()
refresh_Enumeration(oDPEnum)
wend
End Sub
Sub refresh_Enumeration(oEnum)
while oEnum.hasMoreElements()
oNext = oEnum.nextElement()
oNext.refresh()
wend
End Sub
Para os que não sabem como utilizar macros, prometemos que voltaremos ao assunto.
terça-feira, 10 de março de 2009
Macro para actualizar tabelas dinâmicas no CALC do OpenOffice
Subscrever:
Enviar feedback (Atom)
Sem comentários:
Enviar um comentário