Seite 1 von 1

[gelöst] Button zum Aktualisieren von Pivot-Tabellen nach CSV-Import

Verfasst: Di 18. Aug 2020, 17:27
von MaddinR
Hallo

In eine Tabelle importiere ich 2 CSV-Dateien, die in einem zweiten Tabellenblatt via Pivot-Tabelle verdichtet werden. Das dritte Tabellenblatt zeigt zwei Liniendiagrame basierend auf den Inhalten in Blatt 2 an.

Was wäre der beste Weg, die beiden Pivot-Tabellen nach dem Import manuell zu aktualisieren? Mir schwebt ein "update"-Button auf der Diagram-Seite vor. Hat jemand einen Tip für mich, wo ich am besten ansetzen kann? Gibt es ein vielleicht sogar ein Ereignis für die Aktion "verknüpfte Dateien wurden aktualisiert"?

Re: Button zum Aktualisieren von Pivot-Tabellen nach CSV-Import

Verfasst: Di 18. Aug 2020, 17:53
von F3K Total
Moin,
ein Ansatz:

Code: Alles auswählen

Sub Refresh_Pivot_table
   oDatapilottable = Thiscomponent.Sheets.getbyname("Tabelle2").Datapilottables.getbyIndex(0)
   oDatapilottable.refresh
End Sub
Gruß R

Re: Button zum Aktualisieren von Pivot-Tabellen nach CSV-Import

Verfasst: Di 18. Aug 2020, 18:39
von F3K Total
Moin,
ja, es gibt einen Refresh-Listener:

Code: Alles auswählen

Global oListener

sub CreateRefreshListener
    oListener = CreateUnoListener( "RefreshListener_", "com.sun.star.util.XRefreshListener" )
    thiscomponent.AreaLinks.getbyindex(0).addRefreshListener(oListener)
end sub

sub RemoveRefreshListener
    oListener = CreateUnoListener( "RefreshListener_", "com.sun.star.util.XRefreshListener" )
    thiscomponent.AreaLinks.getbyindex(0).removeRefreshListener(oListener)
end sub


sub RefreshListener_refreshed
   Refresh_Pivot_table
   print "Pivot_Tabelle_aktualisiert"
end sub

sub RefreshListener_disposing
end sub

Sub Refresh_Pivot_table
   oDatapilottable = Thiscomponent.Sheets.getbyname("Tabelle2").Datapilottables.getbyIndex(0)
   oDatapilottable.refresh
End Sub
Das funktioniert bei mir nur dann, wenn in den Einstellungen das automatische Aktualisieren zu externen Links "auf Nachfrage" eingestellt ist. Dann wird die Aktualisierung erkannt, wenn man auf aktualisieren klickt.
Vermutlich wird der Listener sonst nach dem Aktualisieren erzeugt.
Also kann man auch bei einem Button bleiben, die Anzahl der Klicks ist gleich.
Gruß R

Re: Button zum Aktualisieren von Pivot-Tabellen nach CSV-Import

Verfasst: Mi 19. Aug 2020, 18:09
von MaddinR
F3K Total hat geschrieben:
Di 18. Aug 2020, 17:53
ein Ansatz:
Das war die Lösung.... :) .... klappt perfekt. Danke!

Optisch befindet sich die "Aktualisieren"-Schaltfläche zwar eher irgendwo zwischen spartanisch und häßlich, weil sie ohne Response beim Click ist... das heisst, sie wird nicht "eingedrückt".... aber sie löst wie gewünscht die Aktualisierung beider Kreuztabellen aus.