Ich würde gerne ein Archiv erstellen, welches über einige Tage hinweg Wetterdaten für verschiedene Tage sammelt.
Dafür habe ich bereits in einem Calcdokument eine Tabelle die sich in regelmäßigen Abständen aktualisiert und so immer die aktuellen Wetterdaten zur Verfügung hat.
Nun möchte ich aber nicht nur die aktuellen Wetterdaten, sondern auch die, von vor einigen Tagen, sehen können. Ist es möglich, dass immer wenn die Tabelle aktualisiert wird, die alten Daten nicht verschwinden, sondern sich einfach nur ein paar Zeile weiter nach unten verschieben, so dass man nach einer gewissen Zeit einen zeitlichen Verlauf des Wetters hat?
Ich freue mich wenn mir jemand helfen kann!
❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
WetterArchiv, welches in regelmäßigen Abständen Tabellen von Websiten ausliest und diese Daten dem Archiv hinzufügt
-
- Beiträge: 4
- Registriert: Sa 19. Aug 2017, 12:35
Re: WetterArchiv, welches in regelmäßigen Abständen Tabellen von Websiten ausliest und diese Daten dem Archiv hinzufügt
Hallo,
da wären ein paar weitere Informationen hilfreich.
Kannst du uns eine Beispieltabelle zur Verfügung stellen?
da wären ein paar weitere Informationen hilfreich.
Wie passiert das?eine Tabelle die sich in regelmäßigen Abständen aktualisiert
Kannst du uns eine Beispieltabelle zur Verfügung stellen?
Gruß,
mikele
mikele
-
- Beiträge: 4
- Registriert: Sa 19. Aug 2017, 12:35
Beispiel
Die Informationen gelangen über Einfüge > Verknüpfung zu externen Daten und der URL der Webadresse der HTML-Tabelle in die Calc-Tabelle. Diese Daten werden einmal pro Stunde aktualisiert.
Eine zweites Tabellenblatt enthält nun eine Tabelle, auf der in der ersten Zeile die benötigten aktuellen Messwerte anschaulich wiedergegeben werden (Befehl: z.B. =Tabelle1.B3).
Wenn nun die Daten von Calc akualisiert werden, da die 3600 Sekunden abgelaufen sind, werden die alten Wetterdaten von den neuen überschrieben.
Gibt es eine Möglichkeit, dass die alten Wetterdaten nicht überschrieben werden, sondern nur eine Zeile tiefer geschoben werden?
Dann hätte man nach ein paar Stunden nicht nur die aktuellen Messwerte, sondern auch die aus der Vergangenheit.
Eine zweites Tabellenblatt enthält nun eine Tabelle, auf der in der ersten Zeile die benötigten aktuellen Messwerte anschaulich wiedergegeben werden (Befehl: z.B. =Tabelle1.B3).
Wenn nun die Daten von Calc akualisiert werden, da die 3600 Sekunden abgelaufen sind, werden die alten Wetterdaten von den neuen überschrieben.
Gibt es eine Möglichkeit, dass die alten Wetterdaten nicht überschrieben werden, sondern nur eine Zeile tiefer geschoben werden?
Dann hätte man nach ein paar Stunden nicht nur die aktuellen Messwerte, sondern auch die aus der Vergangenheit.
- Dateianhänge
-
- Bild2.JPG (34.15 KiB) 2953 mal betrachtet
-
- Bild1.JPG (20.1 KiB) 2953 mal betrachtet
Re: WetterArchiv, welches in regelmäßigen Abständen Tabellen von Websiten ausliest und diese Daten dem Archiv hinzufügt
Moin,
ja, das läßt sich machen, allerdings nur per programmiertem Makro.
Man kann einenauf den Link setzen, der dann bemerkt, wenn der Link aktualisiert wurde.
Anschließend fügt man per Code unterhalb der Importdaten eine Leerzeile ein und kopiert die eben importierten Daten in diese Leerzeile.
Hier ein Code Beispiel:
Zum Starten der Aufzeichnung das Makro S_Register_RefreshListener einmal ausführen.
Gruß und viel Erfolg R
ja, das läßt sich machen, allerdings nur per programmiertem Makro.
Man kann einen
Code: Alles auswählen
com.sun.star.util.XRefreshListener
Anschließend fügt man per Code unterhalb der Importdaten eine Leerzeile ein und kopiert die eben importierten Daten in diese Leerzeile.
Hier ein Code Beispiel:
Code: Alles auswählen
global oRefreshListener
Sub S_Register_RefreshListener
oRefreshListener = CreateUnoListener( "RefreshListener_", "com.sun.star.util.XRefreshListener" )
thisComponent.AreaLinks.getbyIndex(0).addRefreshListener(oRefreshListener)' der Link mit dem Index 0 ist der erste
End Sub
sub S_Remove_RefreshListener
thisComponent.AreaLinks.getbyIndex(0).removeRefreshListener(oRefreshListener)
end sub
Sub RefreshListener_refreshed 'Wenn die Quellzellen aktualisiert wurden ...
oSheet = ThisComponent.Sheets.getbyName("Tabelle1")
oDatarange = oSheet.getcellRangebyname("B2:J2") 'Quelldatenzellen
aData = oDatarange.DataArray 'Daten auslesen
oSheet.Rows.insertByIndex( 2,1)' eine (1) Leerzeile in Zeile 3 (Index 2) einfügen
oDateCell = oSheet.getcellRangebyname("A3:A3")'Datumszelle in Spalte A
oDatecell.Value = NOW()'Datum in Spalte A setzen
oTargetDatarange = oSheet.getcellRangebyname("B3:J3")'Zieldatenzellen
oTargetDatarange.setDataArray(aData) 'Daten einfügen
end sub
Sub RefreshListener_disposing
end sub
Gruß und viel Erfolg R
Windows 11: AOO, LO Linux Mint: AOO, LO
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.