Inhaltsverzeichnis für PowerPoint-Präsentationen erzeugen

mit VBA für PowerPoint 2007

Von: Lorenz Hölscher
Stand: 22. Juli 2010
Anmelden um Kommentare zu schreiben

Über den Autor: Lorenz Hölscher

bild80517

Lorenz Hölscher ist freiberuflicher Dozent, Berater und Programmierer mit Schwerpunkt Anwendungs-Programmierung. Vorrangig widmet er sich Access, Word und Excel sowie begleitenden grafischen Arbeiten. Er legt viel Wert auf benutzerfreundliche Oberflächen und ordentliches Design in Optik und Programmierung. Zu Hilfe kommen ihm da seine langjährigen "branchenfremden" Erfahrungen als Architekt, Layouter und Designer.

Lorenz Hölscher bietet eigene Hilfeseiten an und hat bei Microsoft Press mehrere Bücher veröffentlicht zu Access 2007, Access 2007 VBA, Word 2007 VBA und Access 2010.

Beiträge des Autors als Atom-Feed Atom-Feed: Neues von akademie.de

Es ist erstaunlich, was PowerPoint alles kann. Und es ist erstaunlich, was PowerPoint nicht kann: beispielsweise ein banales Inhaltsverzeichnis der Folien zu erstellen. Lorenz Hölscher beschreibt hier ein einfaches Verfahren, wie Sie das mit VBA nachrüsten.

Besser als AddIn

Dieser Code funktioniert derzeit für die Präsentation, in welcher er enthalten ist. Mit ein wenig Mühe lässt er sich auch auf eine parallel geöffnete Präsentation anwenden, aber wirklich praktisch ist das dann nicht. Als AddIn könnten Sie damit jederzeit Inhaltsverzeichnisse für beliebige Präsentationen erstellen. Lesen Sie im Beitrag "PowerPoint-AddIn erstellen", wie Sie das anpassen.

Für Mitglieder von akademie.de steht das AddIn für Inhaltsverzeichnisse zum Download bereit: AddIn für Inhaltsverzeichnisse (.ppt, 44 kB).

Dialog entwerfen

Das Inhaltsverzeichnis soll hier wegen der Übersichtlichkeit ganz einfach strukturiert sein, also schlicht die Titelzeile aller Folien sammeln und keine Untertitel oder ähnliches berücksichtigen.

Zu Testzwecken ist es immer ganz praktisch, alles in einem Listenfeld auf einem Formular anzuzeigen, bevor es tatsächlich irgendwohin geschrieben wird. Wechseln Sie daher mit Alt+F11 in den VBA-Editor und fügen Sie dort mit Einfügen/UserForm ein neues Formular ein.

Dieses Formular braucht außer zwei Bezeichnungsfeldern (lblSlides und lblInfo) vor allem ein Listenfeld (lstSlides) mit den Eigenschaften ColumnCount:2 und ColumnWidths:50pt, damit eine zweispaltige Liste angezeigt werden kann. Das Kontrollkästchen chkAuchMarkiert gibt an, ob die Inhaltsfolie selber auch in das Inhaltsverzeichnis aufgenommen werden soll.

Ungarische Notation

Die Benennungen der Kontrollelemente entsprechen einer erweiterten Ungarischen Notation. Das Präfix gibt also den Typ des jeweiligen Kontrollelements an. Achten Sie bitte darauf, dass ein Listenfeld das Präfix LST (in Kleinbuchstaben) hat, weil das in dieser Schrift leicht mit IST verwechselt werden kann. Die Bezeichnungsfelder (ab PPT 2010 als Beschriftungsfelder bezeichnet) heißen auf englisch labels, beginnen also mit klein geschriebenem LBL.

Dazu kommen noch zwei Befehlsschaltflächen btnAbbrechen (Eigenschaft Cancel:True) und btnErstellen (Eigenschaft Default:True) zum Abbruch beziehungsweise Erstellen des Inhaltsverzeichnisses. Der Entwurf des Dialogs sieht nun so aus:

Bild vergrößernDer Dialog-Entwurf mit den Namen der Kontrollelemente

Den Dialog selbst benennen Sie bitte von UserForm1 in dlgInhalt um, damit auch dort die Ungarische Notation berücksichtigt wird. Nun können wir mit der Programmierung beginnen.

Diese Seite ist für Mitglieder von akademie.de reserviert.

Möchten Sie die Mitgliedschaft 14 Tage kostenlos testen und den Beitrag komplett lesen?

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein