Inhaltsverzeichnis für PowerPoint-Präsentationen erzeugen

Wie Sie mit einem Code-Schnipsel das Inhaltsverzeichnis für eine PowerPoint-Präsentationen erzeugen

2.5
(2)
Ersten Kommentar schreiben
Stand: 29. Juni 2012 (aktualisiert)

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 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ößernBild 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.

Als Mitglied können Sie diesen Beitrag weiterlesen!

Werden Sie Mitglied und testen Sie akademie.de 14 Tage lang kostenlos!

In den ersten 14 Tagen haben Sie Zugriff auf alle Inhalte auf akademie.de, außer Downloads. Sie können in dieser Zeit ohne Angabe von Gründen stornieren. Eine E-Mail an service@akademie.de genügt. Nur wenn Sie Mitglied bleiben, wird der Mitgliedsbeitrag nach Ende der 14tägigen Stornofrist abgebucht.

Ich bin bereits Mitglied
Jetzt Mitglied werden und akademie.de 14 Tage kostenlos testen
Ich entscheide mich für folgende Zahlungsweise:
14 Tage Stornorecht:
Ich kann meine Mitgliedschaft in den ersten 14 Tagen jederzeit formlos stornieren, z.B. per E-Mail an service@akademie.de.

Fehler

Hallo,

leider kommt beim Ausführen der UserForm_Initialize() eine Fehlermeldung:

(.AddItem <-- ist markiert)

"Fehler beim Kompilieren: Methode oder Datenobjekt nicht gefunden"

Ich verwende PP2010 auf WIN XP.

Vielen Dank für die Hilfe.
Gruß
Michael

Kompilierfehler

Hallo,

ich bin ziemlich sicher, dass in Ihrem Dialogentwurf gar kein Listenfeld namens "lstSlides" vorhanden ist. Vermutlich haben Sie zwar ein Listenfeld angelegt, aber dessen Namen nicht korrigiert. Das gilt auch für alle anderen Kontrollelemente, bei denen die blauen Namen der Abbildung oben erwartet werden.

Die PPT-Version ist egal, aber die Fehlermeldung lässt sich vorher prüfen, indem Sie im VBA-Editor auf "Debuggen/Kompilieren von..." klicken. Wenn dort KEINE Fehlermeldung mehr erscheint, ist technisch alles in Ordnung.

Viel Erfolg,
Lorenz Hölscher

Newsletter abonnieren