🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

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

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
MaddinR
Beiträge: 42
Registriert: Fr 17. Jun 2011, 12:19

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

Beitrag von MaddinR » Di 18. Aug 2020, 17:27

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"?
Zuletzt geändert von MaddinR am Mi 19. Aug 2020, 18:09, insgesamt 1-mal geändert.
Gruß, Maddin

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

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

Beitrag von F3K Total » Di 18. Aug 2020, 17:53

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
Windows 11: AOO, LO Linux Mint: AOO, LO

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

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

Beitrag von F3K Total » Di 18. Aug 2020, 18:39

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
Windows 11: AOO, LO Linux Mint: AOO, LO

MaddinR
Beiträge: 42
Registriert: Fr 17. Jun 2011, 12:19

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

Beitrag von MaddinR » Mi 19. Aug 2020, 18:09

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.
Gruß, Maddin


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten