Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeitdifferenzberechnung in Echtzeit auf Desktop

Forumthread: Zeitdifferenzberechnung in Echtzeit auf Desktop

Zeitdifferenzberechnung in Echtzeit auf Desktop
17.09.2006 21:48:49
Huber
Hallo an das Forum,
eine sehr komplexe (?) Frage:
Ich möchte über (Excel?) eine Echtzeitberechnung, sichtbar auf dem Desktop (wie eine Digitaluhr) haben. Mein Beispiel: am Samstag, den 16.09.06 um 20.05 Uhr hat ein bestimmtes Ereignis statt gefunden.
Auf dem Desktop (notfalls auch in einer Exceltabelle) möchte ich jederzeit den Zeitfortschritt, wenns geht sekundengenau, ersehen können; also praktisch eine Uhr, die ab einem festgelegten Zeitpunkt weiterläuft. Ähnliches gab es meines Erachtens auch als (Vorwärts)-Zähler, als das neue Millenium anbrach.
Weiss jemand Hilfe?
Danke für jede Antwort und einen schönen RestSonntag wünscht,
Huber Tettweiler
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitdifferenzberechnung in Echtzeit auf Desktop
17.09.2006 21:55:07
Gerhard
Hallo an dich,
das ist mit deinen VBA-Kenntnissen doch kein Problem.
Gerhard
AW: Zeitdifferenzberechnung in Echtzeit auf Deskto
17.09.2006 22:50:22
Matthias
Hi Gerhard,
bei "VBA nein" diese Antwort zu geben... ts ts
Da deine Antwort die Frage aus der Liste der offnen Fragen entfernt hat, stelle ich sie hiermit wieder auf offen.
Gruß Matthias
AW: Zeitdifferenzberechnung in Echtzeit auf Desktop
18.09.2006 11:48:07
Hoffi
Hallo Huber,
das ist ja fast schon Auftragsprogrammierung :-)
Das was Du suchst ist ja quasi ein umgedrehter Countdown...
Bastel Dir eine UserForm in VBA mit einem Label (lblAus), 3 TextBoxen (txtStd,txtMin,txtSec) und ein Button(cmdGo). Dann brauchst Du noch ein Timer-Steuerelement auf der Form (Timer1), den Intervall auf 1000 stellen (1000 ms = 1 Sec)
dann folgenden Code...
Option Explicit
Public Sec, Min, Hour, aTime As String

Private Sub cmdGo_Click()
Hour = txtStd.Text
Min = txtMin.Text
Sec = txtSec.Text
Timer1.Enabled = True
End Sub


Private Sub Timer1_Timer()
aTime = Format$(Hour, "00:"): aTime = aTime & Format$(Min, "00:"): aTime = aTime & Format$(Sec, "00")
lblAus.Caption = aTime
Sec = Sec + 1
If Sec = 60 Then
Sec = 0
Min = Min + 1
If Min = 60 Then
If Not Hour = 0 Then
Min = 0
Hour = Hour + 1
End If
End If
End If
End Sub

Hab jetzt die Fehlerbehandlung mal weg gelassen...
Wenn Du etwas haben willst, das ständig im Tray oder auf dem Desktop sichtbar sein soll, dann geht´s nur über VB6 in dem Falle, einfach melden...
Grüße
Hoffi
P.S. Rückmeldung wäre nett...
Anzeige
Zeitdifferenzberechnung in Echtzeit auf Desktop
18.09.2006 22:02:43
Peter
hallo hoffi,
hab' vielen dank für diese wahnsinnig tolle antwort - leider verstehe ich davon gar nichts!
grundsätzlich hast du aber meinen wunsch verstanden, und die anzeige im tray ist ebenfalls wünschenswert (mein desktop ist leer). heisst natürlich, dass die zeit, ähnlich wie die pc-uhr, beim erneuten anschalten des pcs wieder präsent ist.
gibt es da nicht fertige tools, oder muss man so etwas tatsächlich extra programmieren?
danke für eine weitere antwort und grüsse,
huber
Anzeige
AW: Zeitdifferenzberechnung in Echtzeit auf Desktop
19.09.2006 09:48:22
Hoffi
Hallo Huber,
Es ist halt ein sehr umfangreiches Vorhaben, was Du da hast und mit Excel ist es nicht so einfach herzustrellen, da Excel dafür ja immer gestartet sein muss...
Hab mir gestern mal die Zeit genommen und ein kleines Tool erstellt, was glaub ich Deinen Wünschen fast entspricht.
Du kannst das Datum und die Uhrzeit Deines Ereignisses eingebn, das Tool gibt Dir dann an, wieviel Zeit seitdem vergangen ist, und das in Jahren,Monaten,Tagen,Stunden,Minuten und Sekunden. Dann läuft die Uhr von da an weiter.
Auftragsprogrammierung heißt halt, wenn spezielle wünsche erfüllt werden sollen, die nur für dieses eine Tool und den einen User gelten. Deswegen ist mein Tool auch nicht ganz fertig. Z.Bsp. fehlt die Fehlerbehandlung und das hochzählen der Tage,Monate und Jahre, aber wer lässt seinen Rechner schon Monate oder sogar Jahre an.
Die Zeit wird ja bei jedem neuen Start des Programms neu errechnet und wenn Du das Tool in den Autostart ziehst, dann startet es auch mit Windows, allerdings müsste man dann noch das vorher eingegebene Ereignis in der Registry speichern, sodass immer die aktuelle Zeit angegeben wird...
Hier mal der Link zum Tool:
https://www.herber.de/bbs/user/36786.zip
Würde mich über ein Feedback freuen...
Grüße
Hoffi
Anzeige
Zeitdifferenzberechnung in Echtzeit auf Desktop
19.09.2006 21:47:43
Huber
hallo hoffi,
sorry, dass ich erst jetzt antworte, ich habe mein passwort nur hier zu hause, obwohl ich natürlich schon tagsüber dein klasse produkt gesehen habe!
was soll ich sagen: Super! Hab vielen Dank (wär schön, ich könnte das auch ...) Auf jeden Fall ist es genau das, was ich gern haben wollte!
Wie speichere ich jetzt die Zeit oder andere Angaben in der registery? Ziehe ich die ganze exe in den Autostart und wie kriege ich das Ding in das systray (mit zB Traybar? - hab ich mir gerde kostenlos runtergeladen) ...
Eine weitere Bitte (doch) zum Schluss: Womit kann ich mich erkenntlich zeigen? Ich bin von Beruf Buchhändler - kann ich Dir eine Freude machen? Oder was musikalisches? Oder was DVD-mäßiges - oder as Süßes oder was ?
Besten Gruß aus Schleswig-Holstein, Huber
Anzeige
AW: Zeitdifferenzberechnung in Echtzeit auf Desktop
20.09.2006 08:12:40
Hoffi
Hallo Huber,
Danke das Dir mein kleines Tool gefällt... Es ist wie gesagt allerdings noch nicht ganz fertig... Hab gestern noch weiter dran rum gebastelt und die Oberfläche nochmal verändert (sieht jetzt bißchen mehr nach Uhr aus) außerdem wird die fortlaufende Uhrzeit nun auch im Tray angezeigt. Das mit der Registry ist ein bißchen schwieriger, werde ich aber noch einfügen. Einen Bug(Fehler) hab ich allerdings noch drinne, denn die abgelaufenen Tage Monate und Jahre werden nicht ganz korrekt angezeigt (ein Tag abweichung) da die Tage usw. getrennt von der Zeit errechnet werden, da bin ich aber dran, das zu ändern.
Ich versuche das Tool zum Wochenende hin soweit fertig zu bekommen (muss zwischendurch noch bißerl arbeiten :-) )
Du könntest mir mal Deine E-Mail Adresse geben wo ich das dann hin schicken kann, da der Thread bald ins Archiv rutscht.
Mich kannst Du auch über H3llboy@freenet.de erreichen.
Geschenke? Hmmm, ist eigentlich nicht nötig, ich programmiere gerne (bin noch kein Profi und lerne deshalb viel dabei) würde mich freuen wenn Du Dich wieder meldest, wenn Du Ideen für neue Tools hast, die ich in Angriff nehmen könnte, das ist Lohn genug ;-)
Also, dann warte ich mal auf Deine E-Mail Adresse und bastel Deine Wünsche noch ins Tool.
Grüße aus dem regnerischen Westerwald
Hoffi
Anzeige
AW: Zeitdifferenzberechnung in Echtzeit auf Desktop
20.09.2006 13:49:47
Hoffi
Hallo Huber,
Es ist vollbracht!!
Hab nochmal ne ganze Weile dran rumgebastelt und nun sieht es wirklich cool aus...
Also, Du kannst beim ersten Start erstmal ein Datum und ne Uhrzeit eintragen, dies wird in der Registry gespeichert, gleichzeitig kannst Du entscheiden ob das Tool im Autostart gestartet werden soll (also beim Windows start) oder Manuell.
Das Datum und die Uhrzeit ist auch jederzeit änderbar...
Du kannst den Autostart jederzeit über das Tool wieder löschen :-)
Das Tool kann minimiert werden und dann siehst Du die Zeit in der Taskleiste mit laufen :-)
Probier es einfach mal aus und guck mal ob es Dir gefällt...
https://www.herber.de/bbs/user/36848.zip
Grüße
Hoffi
P.S. Passwort Bitte per E-Mail anfragen h3llboy@freenet.de
Anzeige
Zeitdifferenzberechnung in Echtzeit auf Desktop
21.09.2006 20:18:24
Huber
hallo hoffi,
wenn die zeit stimmt: Suuper! Hab vielen Dank Zeit läuft jetzt ....
Klar. dass ich eine CD schicke, gib mir bitte deine adresse auf, dann gehts los.
vielleicht hab ich mal wieder so ein problem - dann kannst du wieder ran ..
danke nochmals und einen schönen abend wünscht dir
huber
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Echtzeit-Zeitdifferenzberechnung auf dem Desktop


Schritt-für-Schritt-Anleitung

  1. VBA-Umgebung öffnen:

    • Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.
  2. UserForm erstellen:

    • Füge eine neue UserForm hinzu (Einfügen > UserForm).
    • Füge ein Label (lblAus), drei TextBoxen (txtStd, txtMin, txtSec) und einen Button (cmdGo) hinzu.
    • Füge ein Timer-Steuerelement (Timer1) hinzu und setze den Intervall auf 1000 (1 Sekunde).
  3. Code hinzufügen:

    • Klicke mit der rechten Maustaste auf die UserForm und wähle Code anzeigen.
    • Füge den folgenden VBA-Code ein:
Option Explicit
Public Sec, Min, Hour, aTime As String

Private Sub cmdGo_Click()
    Hour = txtStd.Text
    Min = txtMin.Text
    Sec = txtSec.Text
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
    aTime = Format$(Hour, "00:") & Format$(Min, "00:") & Format$(Sec, "00")
    lblAus.Caption = aTime
    Sec = Sec + 1
    If Sec = 60 Then
        Sec = 0
        Min = Min + 1
        If Min = 60 Then
            If Not Hour = 0 Then
                Min = 0
                Hour = Hour + 1
            End If
        End If
    End If
End Sub
  1. Tool testen:

    • Starte die UserForm und gib die gewünschte Zeit ein. Klicke auf den Button, um die Uhr zu starten.
  2. Uhr auf dem Desktop anzeigen:

    • Um die Uhr auf dem Desktop anzuzeigen, kannst du das Tool minimieren. Alternativ kannst du das Tool so anpassen, dass es im System Tray sichtbar ist.

Häufige Fehler und Lösungen

  • Fehler: Timer funktioniert nicht:

    • Stelle sicher, dass der Intervall des Timers korrekt auf 1000 ms eingestellt ist.
  • Fehler: Zeit wird nicht korrekt angezeigt:

    • Überprüfe den Code auf Tippfehler, insbesondere in der Berechnung von Stunden, Minuten und Sekunden.
  • Tool schließt sich bei Excel-Schließung:

    • Um die Uhr auf dem Desktop anzuzeigen, stelle sicher, dass Excel im Hintergrund läuft, oder programmiere das Tool so, dass es unabhängig von Excel funktioniert.

Alternative Methoden

  • Fertige Software:

    • Es gibt zahlreiche Tools, die eine Uhr auf dem Desktop anzeigen oder einen Countdown auf dem Desktop anzeigen können. Diese sind oft benutzerfreundlicher und erfordern keine Programmierkenntnisse.
  • Widgets und Gadgets:

    • Nutze Desktop-Widgets oder Gadgets, die eine Weltuhr in Echtzeit anzeigen können. Diese sind oft einfach zu installieren und anzupassen.

Praktische Beispiele

  • Countdown erstellen für Desktop:

    • Du kannst ein Timer-Tool erstellen, das von einem bestimmten Datum herunterzählt. Verwende dazu ähnliche VBA-Codes wie oben beschrieben, passe die Logik jedoch an, um den Countdown zu implementieren.
  • Uhrzeit auf Desktop anzeigen:

    • Entwickle ein einfaches VBA-Skript, das die Systemzeit kontinuierlich aktualisiert und anzeigt.

Tipps für Profis

  • Verwendung der Registry:

    • Um die eingestellte Zeit zu speichern, verwende die Windows-Registry. Das ermöglicht es deinem Tool, die Zeit nach einem Neustart des PCs wiederherzustellen.
  • Hintergrundprozess:

    • Überlege, dein Tool als Hintergrundprozess zu erstellen, sodass es im System Tray immer sichtbar ist und nicht den Desktop überlagert.
  • Fehlerbehandlung:

    • Implementiere eine robuste Fehlerbehandlung, um die Benutzererfahrung zu verbessern und unerwartete Abstürze zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich die Uhrzeit auf dem Desktop anzeigen, ohne Excel zu starten? Ja, du kannst das Tool so programmieren, dass es unabhängig von Excel läuft, indem du VB6 oder andere Programmiersprachen verwendest.

2. Gibt es bereits fertige Tools für einen Countdown auf dem Desktop? Ja, es gibt viele Softwarelösungen, die eine Weltuhr in Echtzeit oder einen Countdown auf dem Desktop bereitstellen, ohne dass eine Programmierung notwendig ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige