datenpilottabellen aktualisieren (automatisch?)

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

byteeater
***
Beiträge: 73
Registriert: So, 29.01.2006 13:37

datenpilottabellen aktualisieren (automatisch?)

Beitrag 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
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag von komma4 »

Schildere doch mal Dein Problem genauer, vielleicht auch ohne einen Lösungsweg vorzugeben....?!
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
byteeater
***
Beiträge: 73
Registriert: So, 29.01.2006 13:37

Beitrag 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 :oops:

lg bernd
Benutzeravatar
komma4
********
Beiträge: 5332
Registriert: Mi, 03.05.2006 23:29
Wohnort: Chon Buri Thailand Asia
Kontaktdaten:

Beitrag 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
Cheers
Winfried
aktuell: LO 5.3.5.2 30m0(Build:2) SUSE rpm, unter Linux openSuSE Leap 42.3 x86_64/KDE5
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als OOo Extension)
byteeater
***
Beiträge: 73
Registriert: So, 29.01.2006 13:37

Beitrag von byteeater »

danke ich werde morgen mal versuchen ob ich das hinkriege da ich überhaupt noch nicht mit makros gearbeitet habe ( :roll: da wirds wohl mal zeit )

und berichte dann

lg bernd
byteeater
***
Beiträge: 73
Registriert: So, 29.01.2006 13:37

Beitrag 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
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Beitrag 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
byteeater
***
Beiträge: 73
Registriert: So, 29.01.2006 13:37

Beitrag von byteeater »

ja jetzt tuts das was ich möchte :)

sorry an das kopieren hatte ich gar nicht gedacht :idea:

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
Antworten