# visuelle Fortschrittsanzeige (ProgressBar) in Powerpoint?



## nfnt (14. Dezember 2005)

Ich suche ein Möglichkeit in eine Powerpoint Präsentation eine Grafische Fortschrittsanzeige einzubauen.
Also ein Balken der grösser wird je mehr sich die Präsentation dem Ende nähert und so den Zuhörerern auf einen Blick zeigt wie lange das ganze noch dauert.

Da eine weitreichende Recherche mich zu dem schluss kommen lies das Powerpoint so eine Funktion nicht von sich aus besitzt, ich lasse mich da gern eines besseren belehren, dachte ich mir ich kann das ganze per Makro machen.
Leider sind meine sowieso nicht gerade vorzüglichen Kenntnisse in VB über die Jahre unter einer dicken Staubschicht begraben worden.
Deshalb hoffe ich das mir hier jemand helfen kann.

Folgendes hab ich mir gedacht.

2 leere Labels, die werden in der Masterfolie genau übereinander eingefügt
Das eine dient als nur mal als hintergrund
Das zweite jedoch bekommt eine Farbe die sich abhebt und dient somit als Statusbalken.
Das Makro soll die Breite dieses Labels abhängig von der Gesamtzahl der Folien und der gerade aktiven Folie ändern.
Immer beim aufrufen der neuen Folie soll das Makro ausgeführt werden.

Folgenden Code hab ich mit meinem eingerosteten VB hingewurstelt.

Sub ProgressBar()

SlideMaster.Label1.BackColor = &H0&
SlideMaster.Label1.With = (400 * (ActiveSlide() / ActivePresentation.Slides.Count()))

End Sub

Function ActiveSlide() As Slide
SetActiveSlide = ActivePresentation.Slides( _
ActiveWindow.View.Slide.Name)

EndFunction


Was ich jetzt wissen will:
Kann ich das überhaupt so machen?
Funktioniert der Code so wie ich das will?
Wie bring ich PP dazu das Makro auszuführen wenn eine neue Folie aufgerufen wird?

Soweit wärs das.

PS.: Mir ist klar das ich einfach in jede Folie ein eigenes Label oder ne Grafik mit passender Grösse einfügen könnt und die Fortschrittsleiste so per Hand bauen könnt.
Ich wills aber gern automatisiert haben damit man das für beliebige Präsentationen verwenden kann.
Ausserdem hab ich gerade null Bock die Präsentation selbst zu machen deshalb spiel ich an sowas rum


----------



## thekorn (15. Dezember 2005)

Hallo,
habe mal ganz schnell und ein bischen dirty was geschrieben.
Events kann man in Powerpoint mit Methoden in einer Klassenbibliothek abfangen. Diese muss du am Anfang zunächst initialisieren, führe dazu zunächst das Makro "InitializeApp()" aus.

gruß
thekorn


----------



## nfnt (19. Dezember 2005)

thx

Funktioniert ja schon ganz schnuckelig.
Gibt es auch die Möglichkeit die Initalisierung automatisch zu machen?
Vor jedem start einer Präsentation im VB Editor rumzutun um die Initalisierung zu machen finde ich ein wenig nervig.


----------



## thekorn (19. Dezember 2005)

nfnt hat gesagt.:
			
		

> thx
> 
> Funktioniert ja schon ganz schnuckelig.
> Gibt es auch die Möglichkeit die Initalisierung automatisch zu machen?
> Vor jedem start einer Präsentation im VB Editor rumzutun um die Initalisierung zu machen finde ich ein wenig nervig.



"vor jedem Start der Präsentation..." ist nicht ganz richtig, halt nur einmalig nachdem du die die Datei geöffnet hast. Das Makro kannst du dann "bequem" über das Makro-menü aufrufen, oder es in eine Symbolleiste legen.

EDIT: Eventuell geht das ganz über ein Add-On (*.ppa) einfacher ()

gruß
thekorn


----------

