Seite 1 von 2

laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 10:47
von ichnixwissen
Hallo
erst mal einen schönen guten Tag in eurem Forum.
Wie zu sehen, ist dies mein erster Post hier, und meinen Nickname habe ich bewusst gewählt, denn auf dem Gebiet Excel, oder Kalkulation bin ich ein absoluter Laie.
Nun zu meinem Anliegen:
Ich habe eine Dokument mit LibreOffice Calc erstellt. Dazu habe ich über das Internet ein Makro gefunden, wo ich eine Uhrzeit mit einbinden kann. Wenn ich das Makro starte, dann läuft die Uhr Sekundengenau wie meine Systemzeit vom PC. Soweit alles bestens. Damit die Uhr in meinem Dokument aber anläuft, muß ich das Makro manuell starten.
Gibt es eine Möglichkeit die Uhr im Dokument automatisch zu starten, wenn ich das Dokument öffne?
Wenn es eine Möglichkeit gibt, bitte ich um eine für mich verständliche Beschreibung, siehe Nickname.
Danke. :D
Gruß
ichnixwissen

Re: laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 12:21
von lessger
Hallo ichnixwissen,

da ich Dein Makro nicht kenne, kann ich's selber nicht ausprobieren. Im Prinzip müßte es aber wie folgt gehen.
  • Mach Dein Spreadsheet auf
  • "Extras > Makros > Makro verwalten ..."
  • Jetzt kommt es darauf an, in was Dein Makro geschrieben ist, z.B. "LibreOffcie Basic" auswählen
  • Kommt neue Dialog Box, darin Button "Zuweisen..."
  • Es erscheint eine Liste mit Ereignissen, denen Du ein Makro zuweisen kannst. Infrage kommen z.B. "Dokument öffnen" oder "Laden des Dokuments beendet". Ich würde es zuerst mit Letzterem versuchen.
  • Ereignis auswählen, dann Button "Makro..."
  • Es erscheint eine neue Dialog Box. Links in der Bibliothek Dein Makro suchen (versuch's mal unter "Meine Makros > Standard", Dein Makro in der rechten Box auswählen und mit "OK" bestätigen
Grüße
Gerhard

Re: laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 12:46
von ichnixwissen
lessger hat geschrieben:Hallo ichnixwissen,

da ich Dein Makro nicht kenne, kann ich's selber nicht ausprobieren. Im Prinzip müßte es aber wie folgt gehen.
  • Mach Dein Spreadsheet auf
  • "Extras > Makros > Makro verwalten ..."
  • Jetzt kommt es darauf an, in was Dein Makro geschrieben ist, z.B. "LibreOffcie Basic" auswählen
  • Kommt neue Dialog Box, darin Button "Zuweisen..."
  • Es erscheint eine Liste mit Ereignissen, denen Du ein Makro zuweisen kannst. Infrage kommen z.B. "Dokument öffnen" oder "Laden des Dokuments beendet". Ich würde es zuerst mit Letzterem versuchen.
  • Ereignis auswählen, dann Button "Makro..."
  • Es erscheint eine neue Dialog Box. Links in der Bibliothek Dein Makro suchen (versuch's mal unter "Meine Makros > Standard", Dein Makro in der rechten Box auswählen und mit "OK" bestätigen
Grüße
Gerhard
Hallo
Erst mal Danke für das schnelle Feedback. :D
Ich hänge erst mal mein Makro als Datei an. Diese aber habe ich auf 5 Sekunden Aktualisierung geändert.
Ich habe aber auch schon eine Aktualisierung von 1 Sekunde eingestellt, danach hatte ich einen Blue Screen mit der Meldung PFN List Corrupt, und meine Maus zittert stark, wenn ich am Dokument arbeite. Bei der Aktualisierung 5 Sekunden habe ich dieses Phänomen nicht. Warum zittert meine Maus, und warum der Blue Screen?
Deine Anleitung an sich ist sehr gut, nur passt dies bei mir nur bis zu Punkt 3. Bei Punkt 4 erscheint bei mir nicht "Dokument öffnen" oder "Laden des Dokuments beendet". In der Liste steht alles andere drin, nur diese Punkte nicht.
Danke für weitere Hilfe.
Gruß
ichnixwissen

hier das Makro:
  • sub Neu_berechnen

    dim document as object
    dim dispatcher as object
    document = ThisComponent.CurrentController.Frame
    dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

    do until thiscomponent.sheets(0).getcellbyposition(0,0).value = 1 'Abruchbedingung A1 = 1
    dispatcher.executeDispatch(document, ".uno:Calculate", "", 0, Array())
    wait 10000 'Wartezeit 10 Sekunden
    loop

    end sub

Re: laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 13:33
von lessger
Hallo ichnixwissen,

das Flackern tritt bei mir nicht auf, Fehler treten auch nicht auf. Das Makro läuft allerdings weiter, selbst wenn das Dokument wieder geschlossen wird. Es stürzt dann mit einer Fehlermeldung ab. Ist nicht schön, macht aber eigentlich nichts und läßt sich auch beheben.

Aber: Dieses Makro läßt sich mit mir bekannten Mitteln nicht beim Öffnen des Dokuments automatisch starten, weil ThisComponent zu dieser Zeit noch nicht bekannt ist.

Bezüglich der Ereignisse, die bei Dir fehlen, müßtest Du bitte mal Deine LO Version angeben, sowie Dein Betriebssystem. Vielleicht findet sich jemand mit der gleichen Umgebung. Ich kann Dir da nicht helfen, bei mir ist alles da.

Grüße
Gerhard

Re: laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 14:54
von karolus
@ichnixwissen:
Anscheinend hast du in irgendeiner oder sogar in mehreren Zellen die Formel =JETZT() hineingeschrieben und verbrätst mit diesem [ironie]genialem[/ironie] Makro sinnlos Rechenzeit, wieso lässt du den Unsinn nicht bleiben und kuckst stattdessen auf die Uhr in der Statusleiste?

Re: laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 15:39
von ichnixwissen
lessger hat geschrieben:Hallo ichnixwissen,

das Flackern tritt bei mir nicht auf, Fehler treten auch nicht auf. Das Makro läuft allerdings weiter, selbst wenn das Dokument wieder geschlossen wird. Es stürzt dann mit einer Fehlermeldung ab. Ist nicht schön, macht aber eigentlich nichts und läßt sich auch beheben.

Aber: Dieses Makro läßt sich mit mir bekannten Mitteln nicht beim Öffnen des Dokuments automatisch starten, weil ThisComponent zu dieser Zeit noch nicht bekannt ist.

Bezüglich der Ereignisse, die bei Dir fehlen, müßtest Du bitte mal Deine LO Version angeben, sowie Dein Betriebssystem. Vielleicht findet sich jemand mit der gleichen Umgebung. Ich kann Dir da nicht helfen, bei mir ist alles da.

Grüße
Gerhard
Hallo
Danke für eure Hilfe, bin aber leider noch nicht weiter. :(
Diese Version von LibreOffice habe ich: Version: 4.2.3.3
Als BS habe ich Windows 8.1.
Das Flackern/Zittern meiner Maus tritt auch nur auf, wenn ich die Aktualissierungszeit im Makro auf 1 Sekunde setzte. Ändere ich dies auf z.B. 3, oder 5 Sekunden ist das Problem nicht da. Ist doch irgendwie eigenartig.
Nochmal, das Makro an sich funktioniert, wenn ich es manuell starte. Nur ich aber möchte haben, dass das Makro beim aufrufen meines Dokumentes automatisch startet. Soll heißen, die Uhrzeit läuft dann auch automatisch los.
Nix anderes möchte ich.
Anscheinend hast du in irgendeiner oder sogar in mehreren Zellen die Formel =JETZT() hineingeschrieben und verbrätst mit diesem [ironie]genialem[/ironie] Makro sinnlos Rechenzeit, wieso lässt du den Unsinn nicht bleiben und kuckst stattdessen auf die Uhr in der Statusleiste?
Ich habe nur in einer Zelle die Formel =JETZT() stehen. Warum braucht ein Makro so viel Rechenzeit?
Den Unsinn den ich vor habe kann ich dir sagen. Ich möchte einfach eine laufende Uhrzeit in meinem Dokument haben. Ist das schlimm?
Welche Statusleiste meinst du, die von Windows? Das ist dann die Taskleiste. In LibreOffice habe so eine Statusleiste nicht gefunden.
Würde mich über weitere Unterstützung freuen. :D
Gruß
ichnixwissen

Re: laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 16:03
von paljass
Hallo ichnixwissen,
Ich möchte einfach eine laufende Uhrzeit in meinem Dokument haben.
Wie das ohne Makro geht, kannst du hier nachlsen.
Welche Statusleiste meinst du,
Die schaltest du unter "Ansicht - Statusleiste" ein.

Gruß
paljass

Re: laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 16:16
von lessger
Hallo ichnixwissen,

Dein Makro läuft einmal gestartet ständig im Hintergrund.

Dein Makro löst dabei alle n Sekunden eine komplette Neuberechnung des Sheets aus, unabhängig davon ob irgendwo ein JETZT() steht oder nicht. Sämtliche Formeln in Deinem Sheet werden neu berechnet, wirklich alles. Wenn Dein Sheet groß ist, oder Dein Rechner langsam und Du das häufig machst (z.B. jede Sekunde), kann das das Flackern erklären. Es kann aber auch noch schlimmere Probleme machen - z.B. Absturz, wenn Calc mit der Neuberechnung nicht mehr nachkommt.

Effizient ist das nicht. Wenn es nicht einen sehr wichtigen Grund gibt, die aktuelle Uhrzeit im Sheet zu haben, solltest Du das bleiben lassen. Wenn Du es dringend brauchst, nimm wenigstens ein sehr langes Intervall (z.B. 60000 = 1 Minute). Eine Tabellenkalulation ist keine Uhr!

Grüße
Gerhard

Re: laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 16:31
von ichnixwissen
Hallo
Danke allen für das finden einer Lösung meines Anliegens. :D
Aber jetzt kommt´s. Ich habe eine Datei im Netz bei http://www.office-hilfe.com/support/sho ... t-einfügen gefunden, die mein Problem auf einen Schlag löst.
Nun ist die Frage, wie bringe ich die Daten in mein Dokument? Wie erwähnt, ichnixwissen.
Ich lade hier mal die Datei hoch. genau wie in A2 möchte ich es haben.
Gruß
ichnixwissen

Re: laufende Uhrzeit integrieren, und autom. starten?

Verfasst: Fr 2. Mai 2014, 16:53
von karolus
Sobald du sowas offen hast und die Zeit läuft kannst du im Dokument selber und im Rest von Libreoffice nicht mehr sinnvoll arbeiten - absoluter Quatsch!