# 15 Minuten Countdown in Powerpoint



## gavanaa (17. Mai 2004)

*Powerpoint - Countdown*

Weiß jemand zufällig wie ich einen kleinen "Countdown-Zähler" in meine Power Point Präsnetation einbauen kann?

Ich muss nämlich eine präsentation genau innerhalb 5min durchlaufen lassen, und damit ich weiß wie lange ich noch zeit habe, wäre es sinnvoll einen kleinen countdown unten links (der die 5 min runterzählt) einzubauen.

danke


----------



## gavanaa (18. Mai 2004)

kann mir denn wirklich keiner helfen?

es ist wichtig! danke!


----------



## thekorn (18. Mai 2004)

*VBA*

hab da mal etwas gebastelt.
Wichtig ist: du musst nach jedem öffnen der präsentation einmalig die Klasse "EventClassModule" initialisieren (also kurz "InitializeApp" ausführen).

Das textfeld, indem sich der counter befindet ist im Master. willst du also was am design (position/göße) ändern musst du es dort machen.

vielleicht hilft es dir

gruß
thekorn


----------



## gavanaa (18. Mai 2004)

*DANKE*

DANKE!

*VIELEN VIELEN VIELEN DANK* 

Dir schuld ich was


----------



## joshijoshijoshi (18. Juni 2004)

Hallo,

ich bin jetzt schon seit circa einen monat auf der suche nach einem Countdown, der während meiner präsentation oben rechts in der ecke ist und von 15 minuten runter zählt, egal wie lange oder wie kurz ich mich auf einer folie aufhalte!
ich kenn mich leider nicht mit VBA aus, weil mir mal gesagt wurde dass ich das damit programmieren müsste!
ich hoffe wirklich mir kann jemand helfen


----------



## thekorn (18. Juni 2004)

schau mal hier:
(Verweis gelöscht, ist ja jetzt ungültig)

gruß
thekorn


----------



## joshijoshijoshi (18. Juni 2004)

ja das hab ich schon gelesen, jedoch kam ich nicht so richtig damit klar, weil wenn ich diese präsentation ausführe, die dort ist, dann seh ich da keine uhr!


----------



## wackelpudding (19. Juni 2004)

> _Original geschrieben von joshijoshijoshi_
> *ja das hab ich schon gelesen [...]*


Dann hättest du theoretisch auch dort hinein posten können... kleiner Tipp für nächstes Mal. 

Wenn du die Präsenattion geöffnet hast, *[Alt]*+*[F11]* drücken, danach im Visual Basic-Editor *[F5]*. Als nächstes »InitializeApp« markieren und *Ausführen* anklicken.
Dann den VB-Editor wieder schließen oder zumindest die Präsentation über die Taskleiste aufrufen. Wenn du jetzt die Präsentation startest, läuft der Countdown [in thekom’s Beispiel 10 Sekunden] dort ab, wo im Folienmaster »vorbei« steht, ab.
Die Zeit kannst du in »Modul1« in der Zeile *laenge = 10 ' Dauer festlegen* verändern.

cooles makro, thekom. *thumbup*


----------



## jadefeuer (19. Juni 2004)

Ich hoffe du willst diesen Countdown nicht für eine Abschlusspräsentation.

Das könnte die Prüfer wahnsinnig machen. 

Wenn du aber eine Zeitkontolle haben willst die keiner sieht, kann man für Präsentationen mit einem Beamer das ganze so einstellen, dass auf dem Rechner dein normaler Desktop bleibt (mit Uhr) und auf dem Beamer die Präsentation läuft.

Vielleicht kann dir das ja helfen.

Gruß
Jadefeuer


----------



## wackelpudding (19. Juni 2004)

Die Millisekunden kann man ja in der Zeile
*firstSl.Shapes(1).TextFrame.TextRange.Text = Format((Ende - Timer) / (24 * 60), "hh:mm:ss")*
durch das Entfernen von *:ss* ausblenden.
Dann ist es wenigstens nicht mehr ganz so hektisch.


----------



## Thomas Lindner (19. Juni 2004)

*HINWEIS!*

Achtung, dieser Beitrag wurde aus zwei Beiträgen zzusamengestückelt.....


----------



## joshijoshijoshi (19. Juni 2004)

ja doch ich möchte diese uhr für eine abschlusspräsentation verwenden, die während der präsentation auf der folie angezeigt wird, weil die prüfer das gerne so hätten!
was muss ich denn genau tun, damit das perfekt funktioniert und nicht die prüfer wahnsinnig macht?
(ich kenn mich nicht mit programmieren aus, also bitte ganz leicht für dumme erklären  )


----------



## joshijoshijoshi (19. Juni 2004)

- also es sollen die millisekunden nicht angezeigt werden
- die muss 15 Minuten betragen wu die sekunden und die minuten ablaufen
- und am ende soll die uhr stehen bleiben auf 00:00

wo muss ich da was genau verändern?


----------



## thekorn (19. Juni 2004)

*ganz einfach*

Habe den Code nach deinen Wünschen umgeändert:


```
Public Sub zeit()
Dim laenge, Start, Ende, Tformat

Set firstSl = Application.ActivePresentation.SlideMaster
Tformat = "hh:mm"
laenge = 15 * 60  ' Dauer in Sekunden festlegen.
Start = Timer    ' Anfangszeit setzen.
Ende = Start + laenge
Do While (Timer < Ende) And (pre_stop = False)
    firstSl.Shapes(1).TextFrame.TextRange.Text = Format((Ende - Timer) / (24 * 60), Tformat)
    DoEvents    ' Steuerung an andere Prozesse
            ' abgeben.
Loop
firstSl.Shapes(1).TextFrame.TextRange.Text = Format(0, Tformat) 'hier steht das, was am ende stehenbleiben soll!
Set firstSl = Nothing
End Sub
```

gruß
thekorn


----------



## joshijoshijoshi (19. Juni 2004)

Vielen vielen dank erstmal ich hab es jetzt hinbekommen, dass es funktioniert, zwar nicht mit dem script was du umgeschrieben hast, aber ich hab einfach in dem vorgegeben script rumgeschrieben und aus den 10 auf 900 und bei vorbei 00:00 hingeschrieben.
nun habe ich aber noch zwei fragen :

- kann ich dieses VB-script aus dieser präsentation raus nehmen und in eine andere präsentation machen?weil ich meine präsentation ja schon geschrieben habe und da wäre das praktisch, wenn ich den countdown nur noch einfügen müsste

- kann man es machen, dass der countdown erstbeginnt auf der zweiten folie?oder dass der countdown beginnt wenn ich eine bestimmte taste drücke?


----------



## thekorn (20. Juni 2004)

*Copy and Paste!*

Zu deiner ersten Frage:
einfach das Textfel in den Master kopieren, und die Module mit gleicher (Namens-) Struktur übernehmen.

Zur zweiten Frage:
Wenn du die Eventklasse durch diese ersetzt, startet die Zeitnahme ab einer bestimmten Folie, hier ab der dritten

```
Public WithEvents App As Application



Private Sub App_SlideShowBegin(ByVal Wn As SlideShowWindow)
Call Modul1.steuerung(True)
'**** Wenn die folgenden Befehle ausgeführt werden, beginnt die zeitnahme mit Beginn der Präsentation****

'Call Modul1.steuerung(False)
'Call Modul1.zeit
End Sub

Private Sub App_SlideShowEnd(ByVal Pres As Presentation)
Call Modul1.steuerung(True)
End Sub

Private Sub App_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
'**** Diese Prozedure sorgt dafür, dass die Zeitnahme bei einer bestimmten Folie startet ****

Dim Showpos As Integer
Showpos = Wn.View.CurrentShowPosition '+ 1
    If Showpos = 3 Then 'Hier die Foliennummer eintrage, ab der die Zeitnahme starten soll
        Call Modul1.steuerung(False)
        Call Modul1.zeit
    End If
End Sub
```

gruß
thekorn


----------



## joshijoshijoshi (20. Juni 2004)

vielen dank!
aber wenn ich das aus dem master kopiere und in meine präsentation einfüge und auch die module geändert habe und dann ausführe passiert garnix auf deutsch gesagt, also besser gesagt die uhr läuft nicht ab
was könnte ich falsch gemacht haben?


----------



## thekorn (20. Juni 2004)

*Mögliche Fehlerquellen*

Paar Kleinigkeiten auf die zu achten sind:
-> Die Instancing-Eigenschft von "EventClassModule" muss auf  "2-PublicNotCreatetable" gesetzt werden (Eigenschaftsfenster)
-> Wenn du den von mir zuletzt geposteten Code benutzt muss du bis zu dritten Folie warten, erst dann startet die Uhr (oder den Code entsprechend anpassen!)

sonst müsste es alles funktionieren.

gruß
thekorn


----------



## joshijoshijoshi (20. Juni 2004)

hmmm

naja genau auf die dinge hab ich schon geachtet.
wäre es vielleicht möglich, dass ich dir die präsentation zuschicke per e-mail und du guckst mal was du machen kannst?


----------



## thekorn (21. Juni 2004)

ja, habe dir meine e-mailaddresse per pn geschickt

gruß
thekorn


----------



## thekorn (22. Juni 2004)

*WICHTIG*

Für alle die es interessiert:
Es ist wichtig, dass man das Textfeld für die Uhr im *"Folienmaster" * und nicht in den "Titelmaster" einfügt.

gruß
thekorn


----------



## MJAE (30. August 2004)

*der leidige Countdown*

Hallo, Zusammen!

thekorn das hast du schon super hingekriegt. 
Bin auch schon die ganze Zeit am suchen, um so einen Countdown in Powerpoint bis zum Jahresende hinzukriegen. In Excel habe ich mit Hilfe Herbers Excelseiten so lange rumprobiert, bis es zumindestens mit benutzerdefinierter Ansicht geklappt hat.

Theoretisch müsste das Makro auch auf das Jahresende veränderbar sein?
Leider habe ich null Ahnung von VBA. Warum muss das "EventClassModule" jedesmal manuell initialisiert werden?

Wär schön, wenn Du mir helfen könntest.
In der Anlage, wie das in Excel aussieht. Vielleicht kann es der eine oder andere ja gebrauchen.

Grüße

MJae


----------



## MJAE (30. August 2004)

*dateianhang überarbeitet*

sorry, der alte dateianhang war fehlerhaft. anbei der Bereinigte.

P.S: Wenn ich die Zellen in ppt importiere, läuft die Uhr nur im Bearbeitungsmodus


----------



## thekorn (31. August 2004)

*Versuch...*

Habe den Code für die Prozedur "zeit()" mal entsprechend geändert, läuft jetzt im Rahmen der Rundungsgenauigkeit 


```
Public Sub zeit()
Dim laenge, Start, Ende, Tformat, Tage, Diff_Zeit, Stunden, Minuten, Sekunden

Set firstSl = Application.ActivePresentation.SlideMaster

'Tformat = "hh:mm:ss"
Datum1 = DateValue("31.12.2004")
laenge = DateDiff("s", Now, Datum1)
'laenge = 15 * 60  ' Dauer in Sekunden festlegen.
Start = Timer    ' Anfangszeit setzen.
Ende = Start + laenge
'MsgBox ((Ende - Timer) / 86400 & " und " & Timer)
Do While (Timer < Ende) And (pre_stop = False)
    'firstSl.Shapes(1).TextFrame.TextRange.Text = Format((Ende - Timer) / (24 * 60), Tformat)
    Diff_Zeit = (Ende - Timer)
    Tage = Format(Diff_Zeit / 86400, "0")
    Stunden = Format(Tage - (Diff_Zeit / 86400), "hh")
    Minuten = Format(Stunden - Tage - (Diff_Zeit / 86400), "mm")
    Sekunden = Format(Minuten - Stunden - Tage - (Diff_Zeit / 86400), "ss")
    firstSl.Shapes(1).TextFrame.TextRange.Text = Tage & " Tage, " & Stunden & " Stunden, " & Minuten & " Minuten, " & Sekunden & " Sekunden"
    DoEvents    ' Steuerung an andere Prozesse
            ' abgeben.
Loop
firstSl.Shapes(1).TextFrame.TextRange.Text = Format(0, Tformat) 'hier steht das, was am ende stehenbleiben soll!
Set firstSl = Nothing
End Sub
```

Wer das ausprobiert wird sehr schnell merken, dass es aufgrund von rundungsfehlern zu abweichungen mit dem Excelcode kommt. Mann muss sich hier vielleicht noch ein paar gedanken machen!

gruß
thekorn


----------



## Salahaddin (12. Januar 2006)

Hi.

Wie kann man diese Countdown zu einer anderen Stelle verschieben,weil es in der Mitte der Seite steht und sieht so nicht gut aus.Ich hab's versucht,aber bei mir geht nicht.
Danke.

Salahaddin.


----------



## thekorn (14. Januar 2006)

Du musst über Ansicht -> Folienmaster (oder so ähnlich) in den Folienmaster wechseln. Dort kannst du dann die entsprechenden Felder verschieben.

gruß
thekorn


----------



## MoD1979 (25. Mai 2008)

Hallo zusammen. Auch mir geht es nicht anders. Ich suche für eine Präsentation einen Countdown-Timer wo man ein bestimmtes Datum eingeben kann und er rückwärts vom heutigem Datum an zählt. Ich weiß, dass es geht. Nur nicht mehr wie. Ein Script oder auch ein html code habe ich bereits. Nur das einbinden klappt irgendwie nicht. Hab schon alle möglichen Einstellungen die hier erwähnt worden sind ausprobiert. Nur der Timer wird nicht sichtbar. Wer kann helfen? Wäre grandiös....


Hier der Quelltext: 

<html>

	<head>
		<title>Ein Countdown mit JavaScript</title>
		<meta name="robots" content="noindex,nofollow">
		<style type="text/css">body{background-color:#000000};input {background-color:#FF3333;border-width:1};p{font-size:75%}</style>

<script language="JavaScript">
	var jahr=2008, monat=6, tag=7, stunde=18, minute=00, sekunde=00; // Ziel-Datum in MEZ
	var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);

	function countdown() {
		startDatum=new Date(); // Aktuelles Datum

		// Countdown berechnen und anzeigen, bis Ziel-Datum erreicht ist
		if(startDatum<zielDatum)  {

			var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;

			// Jahre
			while(startDatum<zielDatum) {
				jahre++;
				startDatum.setFullYear(startDatum.getFullYear()+1);
			}
			startDatum.setFullYear(startDatum.getFullYear()-1);
			jahre--;

			// Monate
			while(startDatum<zielDatum) {
				monate++;
				startDatum.setMonth(startDatum.getMonth()+1);
			}
			startDatum.setMonth(startDatum.getMonth()-1);
			monate--;

			// Tage
			while(startDatum.getTime()+(24*60*60*1000)<zielDatum) {
				tage++;
				startDatum.setTime(startDatum.getTime()+(24*60*60*1000));
			}

			// Stunden
			stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
			startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

			// Minuten
			minuten=Math.floor((zielDatum-startDatum)/(60*1000));
			startDatum.setTime(startDatum.getTime()+minuten*60*1000);

			// Sekunden
			sekunden=Math.floor((zielDatum-startDatum)/1000);

			// Anzeige formatieren
			(jahre!=1)?jahre=jahre+" Jahre,  ":jahre=jahre+" Jahr,  ";
			(monate!=1)?monate=monate+" Monate,  ":monate=monate+" Monat,  ";
			(tage!=1)?tage=tage+" Tage,  ":tage=tage+" Tag,  ";
			(stunden!=1)?stunden=stunden+" Stunden,  ":stunden=stunden+" Stunde,  ";
			(minuten!=1)?minuten=minuten+" Minuten  und  ":minuten=minuten+" Minute  und  ";
			if(sekunden<10) sekunden="0"+sekunden;
			(sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde";

			document.countdownform.countdowninput.value=jahre+monate+tage+stunden+minuten+sekunden;

			setTimeout('countdown()',200);
		}
		// Anderenfalls alles auf Null setzen
		else document.countdownform.countdowninput.value=" 0 Jahre, 0 Monate, 0 Tage,  0 Stunden,  0 Minuten  und  00 Sekunden";
	}
</script>

	</head>

	<body scroll="auto" onload="countdown()">
		<br>
		<form name="countdownform"><p><input size="75" name="countdowninput" style="background-color:#ffffff;border-width:0" onfocus="if(this.blur)this.blur()"></p></form>

	</body>
<html>

Internette Grüße MoD1979


----------



## Gast (24. Juli 2009)

Hi,

ich glaube, dass Du auf http://www.powerpoint-timer.com genau das findest, wonach Du suchst.
Natürlich sind neben den von Dir genannten 15 min auch noch viele andere Redezeiten einstellbar.
Einfach mal ausprobieren.

Viel Spaß.


----------



## TimeForTalk (7. September 2009)

Hallo,

da gibt es ganz hilfreiche Tools, die Du Dir im Netz downloaden kannst. Ein sehr schöner Powerpoint Timer ist der auf http://www.powerpoint-timer.com, schau ihn Dir mal an, ich denke, das ist genau das, wonach Du suchst?

Beste Grüße
Eckhard.


----------



## neolight (13. März 2010)

Hallo,

warum kann ich keine Zeit einstellen, die länger als 24 Min. ist? Gebe ich z.B. 30 * 60 ein, beginnt der Countdown bei 6:00 Min.

Was nun?


----------

