Seite 1 von 1
datenpilottabellen aktualisieren (automatisch?)
Verfasst: Do, 08.02.2007 07:28
von byteeater
guten morgen.
ich weiß , so gedacht ist es nicht, aber gibt es eine trotzdem eine möglichkeit oder einen trick, wie man datenpilottabellen automatisch aktualisieren lassen kann?
alternativ wäre denkbar, daß man, wenn man eine bestimmte zelle (zb. A1) anklickt, alle datenpilottabellen dieses tabellenblattes sozusagen mit einem klick aktualisiert werden und man nicht jede einzeln aufsuchen muß.
mit makros kenne ich mich leider noch nicht aus. wäre sehr dankbar für hilfe
lg bernd
Verfasst: Di, 13.02.2007 01:52
von komma4
Schildere doch mal Dein Problem genauer, vielleicht auch ohne einen Lösungsweg vorzugeben....?!
Verfasst: Di, 13.02.2007 17:30
von byteeater
Hmm, gar nicht so leicht genauer zu schildern.
eingentlich suche ich wirklich nur einen weg meine 5 vom Datenpilottabellen automatisch aktualisieren zu lassen. das heißt eventuell bei jedem speichern oder bei jedem aufrufen der datei. hauptsache ich muß nicht immer jede datenpilottabelle einzeln anklicken und auf aktualisieren drücken.
weiß nicht was ich da noch genauer schildern soll
lg bernd
Verfasst: Di, 13.02.2007 18:54
von komma4
Nun,
ich habe die Aktion "Daten>Datenpilot>Aktualisieren" mit dem Makro-Rekorder aufgezeichnet. Heraus kam der folgende Code, dessen letzte Anweisung auskommentiert wird (REM).
Nehme ich das REM weg und lasse das Makro laufen, dann wird meine Pivottabelle aktualisiert.
Probiere mal, ob das Dir hilft....
Code: Alles auswählen
sub refreshPivot
' recorded 2007-02-13
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:RecalcPivotTable", "", 0, Array())
end sub
Verfasst: Di, 13.02.2007 20:21
von byteeater
danke ich werde morgen mal versuchen ob ich das hinkriege da ich überhaupt noch nicht mit makros gearbeitet habe (

da wirds wohl mal zeit )
und berichte dann
lg bernd
Verfasst: Do, 15.02.2007 11:00
von byteeater
so jetzt hab ich s endlich mal geschafft es zu probieren
das kam dabei raus:
REM ***** BASIC *****
Sub Main
End Sub
sub aktualisieren
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:RecalcPivotTable", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:RecalcPivotTable", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:RecalcPivotTable", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:RecalcPivotTable", "", 0, Array())
rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:RecalcPivotTable", "", 0, Array())
end sub
irgendwas klappt da doch noch nicht richtig!
an was kanns liegen?
lg bernd
Verfasst: Do, 15.02.2007 12:03
von Karolus
Hallo Bernd
Warum hast du nicht einfach Winfrieds Code in deine Basic-oberfläche rüberkopiert ?
Nichts desto trotz sollte dein fünfmaliger Aufruf zur Aktualisierung auch laufen,
falls du aus Basic heraus startest musst du die beiden Zeilen :
Sub Main
End sub
entfernen, weil sonst nur dieses "leere" Makro ausgeführt wird.
Vier der identischen Codezeilen:
dispatcher.executeDispatch(document, ".uno:RecalcPivotTable", "", 0, Array())
kannst du ebenfalls entfernen.
Gruß Karo
Verfasst: Do, 15.02.2007 13:36
von byteeater
ja jetzt tuts das was ich möchte
sorry an das kopieren hatte ich gar nicht gedacht
ich hab das makro gleich zu Datei sichern zugeordnet, sodaß bei jedem abspeichern die pivottabellen abktualisiert sind. SCHÖN. das macht die sache wesentlich leichter
vielen dank nochmal
lg bernd