benötige Hilfe bei Makroprogrammierung
Moderator: Moderatoren
benötige Hilfe bei Makroprogrammierung
Hallo,
ich nutze Openoffice 2.0 und möchte über ein Makro auf einem Tabellenblatt eine csv Datei aus dem Internet einlesen lassen.
Ich stelle mir das so vor, dass sich dieses Auslesen alle 10 sec automatisch wiederholt. Wenn dies nicht gehen sollte, dann würde mir auch ein manuelles Ausleen der csv Datei über einen Button genügen.
Vielen Dank für Eure Hilfe
Gruß Denni
ich nutze Openoffice 2.0 und möchte über ein Makro auf einem Tabellenblatt eine csv Datei aus dem Internet einlesen lassen.
Ich stelle mir das so vor, dass sich dieses Auslesen alle 10 sec automatisch wiederholt. Wenn dies nicht gehen sollte, dann würde mir auch ein manuelles Ausleen der csv Datei über einen Button genügen.
Vielen Dank für Eure Hilfe
Gruß Denni
Was ist der Zweck des Ganzen?
Ist es nicht zuläsig die Datei direkt zu öffnen? Warum?
Kannst Du nicht mit Verknüpfungen arbeiten (DDE)?
Liegt die Datei nur als csv vor oder gibt es auch eine andere Version, z.B. Tabelle in HTML-Datei? Kannst Du einen Link nennen?
Wie ist die Datei eigentlich beschaffen ... Feldtrenner, Texttrenner, Zeichensatz/Kodierung?
Gruß
Stephan
Ist es nicht zuläsig die Datei direkt zu öffnen? Warum?
Kannst Du nicht mit Verknüpfungen arbeiten (DDE)?
Liegt die Datei nur als csv vor oder gibt es auch eine andere Version, z.B. Tabelle in HTML-Datei? Kannst Du einen Link nennen?
Wie ist die Datei eigentlich beschaffen ... Feldtrenner, Texttrenner, Zeichensatz/Kodierung?
Gruß
Stephan
Hallo
ich möchte das nutzen um Realtimedaten von Aktienkursen zu verfolgen.
Ich habe zwar im Netz die Möglichkeit mir immer eine Aktie anzusehen, muss dann aber immer umschalten auf die anderen.
Hier ein Beispiellink:
http://finance.yahoo.com/d/quotes.csv?s ... a3v&e=.csv
Gruß Denni
ich möchte das nutzen um Realtimedaten von Aktienkursen zu verfolgen.
Ich habe zwar im Netz die Möglichkeit mir immer eine Aktie anzusehen, muss dann aber immer umschalten auf die anderen.
Hier ein Beispiellink:
http://finance.yahoo.com/d/quotes.csv?s ... a3v&e=.csv
Gruß Denni
Ja OK, aber das beantwortet keine meiner wesentlichen Fragen insbesondere nicht:ich möchte das nutzen um Realtimedaten von Aktienkursen zu verfolgen
Ist es nicht zulässig die Datei direkt zu öffnen? Warum?
Ich habe jetzt die von Dir angegebene Datei ganz konkret in OOo geöffnet (1.1.4 und 2.0.1) und kann dann über "Neu laden" jederzeit aktualisieren - somit Makro unnötig.
Ob oder warum Du diesen Weg nicht beschreiten möchtest weiß ich zunächst nicht dazu müßtest Du etwas sagen.
Zumindest scheint mir Deine zweite Bedingung aber erfüllt:
Wenn dies nicht gehen sollte, dann würde mir auch ein manuelles Auslesen der csv Datei über einen Button genügen.
Eine völlig automatische Aktualisierung (aller 10 Sekunden) wäre möglich indem Du das Neuladen in einem Makro mittels einer Zeitschleife steuerst, sicherlich eine Lösung wenn Du die Tabelle nur beobachten willst. Da das Makro aber permanent laufen müßte bin ich nicht sicher ob Du dann noch sinnvoll innerhalb der Datei (bzw. OOo) arbeiten könntest - ich weiß ja nicht was Du tun willst.
Im Prinzip sollte zunächst bei geladenem Dokument genügen:
Code: Alles auswählen
sub neu_laden
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
Do
wait 10000
dispatcher.executeDispatch(document, ".uno:Reload", "", 0, Array())
Loop
end sub
Code: Alles auswählen
sub neu_laden
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
For i = 1 to 50
wait 10000
dispatcher.executeDispatch(document, ".uno:Reload", "", 0, Array())
Next i
end sub
Sehr viel besser wäre es wenn die Tabelle eingebettet in HTML zur Verfügung stände, dann könntest Du ohne Probleme (ohne Makro) permanent automatisch aktualisieren lassen. Da diese Tabelle aber wohl dynamisch erzeugt wird wird HTML nicht die Option sein befürchte ich.
Da aber Deine Aussage ohnehin sehr allgemein gehalten ist, ich sehe nämlich zunächst nicht welchen Vorteil das reine Betrachten und periodische Aktualisieren der Tabelle in OOo statt im Browser bringt, verweise ich mal auf diese 2 Threads welche Deine Thematik zumindest streifen:
viewtopic.php?t=5672&highlight=externe
viewtopic.php?t=2240&highlight=depot
Soweit zunächst.
Gruß
Stephan
Hallo Stephan
erst einmal danke für Deine Bemühungen.
Also die Funktion des Neuladens kannte ich nicht.
Die CSV Datei zu öffnen hab ich natürlich hinbekommen.
Beim Neuladen ist mir aufgefallen, das er zwar was läd, aber die Daten irgendie nicht aktuell sind.
Wenn ich in einer 2. Mappe erneut die CSV Datei über den link öffne, sind die Daten wieder aktuell. Also meiner Meinung nach funktioniert das reine neuladen nicht wirklich.
Nun noch mal zu dem was ich vorhabe. Also mein Ziel ist es, immer aktuelle Relatimedaten von den ausgewählten Aktien auf einem Blick zu haben und diese dann mit anderen Tabellfunktionen weiter auwerten kann.
Leider hab ich halt noch keine kostenlose Variante im Netz gefunden, wo ich eine große Übersicht habe und gleichzeittig diese Daten dann weiterverarbeiten kann. Ein Beispiel hierfür ist ein Depot nachzubilden und immer den aktuellen Depotwert sich anzeigen zu lassen.
Es gibt einen RTQDownloader. Der läd analog diese CSV Dateien in sein Programm und exportiert diese in eine Tabellenkalkulation. Da dieses Progrsamm Halbjährlioch 69 Euro kostet, wollte ich den Kauf umgehen und es selbst mit openoffice versuchen. Muss doch irgendwie gehen
Gruß Denni
erst einmal danke für Deine Bemühungen.
Also die Funktion des Neuladens kannte ich nicht.
Die CSV Datei zu öffnen hab ich natürlich hinbekommen.
Beim Neuladen ist mir aufgefallen, das er zwar was läd, aber die Daten irgendie nicht aktuell sind.
Wenn ich in einer 2. Mappe erneut die CSV Datei über den link öffne, sind die Daten wieder aktuell. Also meiner Meinung nach funktioniert das reine neuladen nicht wirklich.
Nun noch mal zu dem was ich vorhabe. Also mein Ziel ist es, immer aktuelle Relatimedaten von den ausgewählten Aktien auf einem Blick zu haben und diese dann mit anderen Tabellfunktionen weiter auwerten kann.
Leider hab ich halt noch keine kostenlose Variante im Netz gefunden, wo ich eine große Übersicht habe und gleichzeittig diese Daten dann weiterverarbeiten kann. Ein Beispiel hierfür ist ein Depot nachzubilden und immer den aktuellen Depotwert sich anzeigen zu lassen.
Es gibt einen RTQDownloader. Der läd analog diese CSV Dateien in sein Programm und exportiert diese in eine Tabellenkalkulation. Da dieses Progrsamm Halbjährlioch 69 Euro kostet, wollte ich den Kauf umgehen und es selbst mit openoffice versuchen. Muss doch irgendwie gehen

Gruß Denni
Beim Neuladen ist mir aufgefallen, das er zwar was läd, aber die Daten irgendie nicht aktuell sind.
Wenn ich in einer 2. Mappe erneut die CSV Datei über den link öffne, sind die Daten wieder aktuell. Also meiner Meinung nach funktioniert das reine neuladen nicht wirklich.
Ich könnte mir nicht vorstellen das es nicht funktioniert, ich habe es aber ohnehin zur Sicherheit getestet bevor ich es gepostet habe und es funktionierte wie erwartet. Allein schon wenn Du auf das Tabellenblatt schaust siehst Du das sich die Werte ändern während das Makro läuft, ansonsten gib einfach in das Blatt unmittelbar nach der Aktualisierung manuell einen Wert ein und bei der nächsten automatischen Aktualisierung müßtest Du eine Änderungsnachfrage erhalten, falls nicht ist allerdings etwas faul.
(naja, klar die Werte ändern sich nur wenn sich die csv-Datei innerhalb der 10 Sekunden ändert (bzw. die Datenquelle aus der diese erzeugt wird), was ja nicht immer der Fall sein muß weil deren Aktualisierung ggf. seltener erfolgt. Ich kann hier teilweise eine halbe Stunde aktualisieren ohne das sich die Anzeige ändert weil sich die csv in dieser Zeit im Orginal garnicht ändert.)
Da dieses Progrsamm Halbjährlioch 69 Euro kostet, wollte ich den Kauf umgehen und es selbst mit openoffice versuchen. Muss doch irgendwie gehen
habe ich keine Erfahrungen was sowas kosten darf, aber ich halte 69 Euro doch für eher billig wenn wir über Echtzeitkurse reden, ohnehin kann ich mir eigentlich nicht denken das Dein Link Echtzeitkurse liefert, sondern nur zeitverzögerte Echtzeitkurse, weiß es aber nicht genau, nur Echtzeitkurse kostenlos und dann noch ohne Registrierung halte ich für ungewöhnlich.
Gruß
Stephan
Hallo Stephan,
Also ich habe noch einmal viel bei mir nach Deiner Anleitung probiert aber es funktioniert nicht.
Ich denke es liegt dadran das meine CSV Datei in den temporären Internetfiles landet und beim Neuladen nicht aus dem WEB sondern von dort geladen wird. Aus diesem Grund habe ich auch keine Änderung.
Jedenfalls habe ich die Datei dort gefunden.
Hast Du noch eine Idee?
Über die Verknüpfung zu externen Daten habe ich es hinbekommen das er die Webseite ausliest. Ebenso habe ich in der HTML Aufzählung die für mich wichtigen Daten gefunden. Leider ist diese Art sehr Ressourchenfressend. Zumindest reagiert OpenOffice sehr sehr träge wenn die Daten gezogen werden.
Und das bei einer Aktualisierung von alle 60s.
Leider kann man über diese Funktion keine CSV Dateien laden, obwohl er sie anzeigt. Oder gibt es da noch nen Trick?
Gruß Denni
Also ich habe noch einmal viel bei mir nach Deiner Anleitung probiert aber es funktioniert nicht.
Ich denke es liegt dadran das meine CSV Datei in den temporären Internetfiles landet und beim Neuladen nicht aus dem WEB sondern von dort geladen wird. Aus diesem Grund habe ich auch keine Änderung.
Jedenfalls habe ich die Datei dort gefunden.
Hast Du noch eine Idee?
Über die Verknüpfung zu externen Daten habe ich es hinbekommen das er die Webseite ausliest. Ebenso habe ich in der HTML Aufzählung die für mich wichtigen Daten gefunden. Leider ist diese Art sehr Ressourchenfressend. Zumindest reagiert OpenOffice sehr sehr träge wenn die Daten gezogen werden.
Und das bei einer Aktualisierung von alle 60s.
Leider kann man über diese Funktion keine CSV Dateien laden, obwohl er sie anzeigt. Oder gibt es da noch nen Trick?
Gruß Denni
Sorry, ich weiß nicht warum.Also ich habe noch einmal viel bei mir nach Deiner Anleitung probiert aber es funktioniert nicht.
Ganz sicher nicht, Dein Browser (ich vermute mal IE) lädt ggf. von dort, aber OOo nicht.Ich denke es liegt dadran das meine CSV Datei in den temporären Internetfiles landet und beim Neuladen nicht aus dem WEB sondern von dort geladen wird.
Obwohl es wie gesagt einen temporary InternetFiles nur von Browser geladen würde, selbst da wird mit Klick auf "Aktualisieren die Datei "frisch" aus dem Netz geladen.Aus diesem Grund habe ich auch keine Änderung.
Ja, dann kannst Du meine Behauptung sogar prüfen, lösche diese Datei und Du wirst sehen das wenn Du die Internezseite mit OOo öffnest (natürlich NICHT mit dem Browser) das die Datei nicht neu erzeugt wird.Jedenfalls habe ich die Datei dort gefunden.
Über die Verknüpfung zu externen Daten habe ich es hinbekommen das er die Webseite ausliest.
Dann erkläre bitte wie.
Leider ist diese Art sehr Ressourchenfressend. Zumindest reagiert OpenOffice sehr sehr träge wenn die Daten gezogen werden.
Und das bei einer Aktualisierung von alle 60s.
Das waren auch meine Bedenken beim normalen Öffnen, da ich nur einen langsamen Modem-Zugang habe. Da ich es aber getestet habe kann ich nur sagen, es gibt selbst mit Modem und 10 Sekunden Aktualisierungszeit keine Probleme, unmittelbar beim Neuladen entsteht natürlich eine kurze Verzögerung (weniger 1 Sekunde) aber selbst da reagiert OOo nur etwas zäh und ist keinesfalls blockiert.
Ich habe keinen anderen Vorschlag, es läuft hier tadellos. Nur zur Sicherheit das wir nicht aneinander vorbei reden:
*ich öffne Calc
*ich gebe:
http://finance.yahoo.com/d/quotes.csv?s ... 6p4b1a3v&e
in das Kombinationsfeld "URL laden" der Standard-Symbolleiste ein und drücke Enter
*ich bestätige ggf. die Sicherheitsabfrage der Firewall
*der Import-Dialog erscheint, ich bestätige
*die Datei wird geladen und ich kann sie nun über Datei-Neu laden oder über das Makro beliebig oft aktualisieren
(und wohlgemerkt habe ich auch mit Modem keinerlei Performance-Probleme)
Gruß
Stephan