VBA für PowerPoint 2007: Inhaltsverzeichnis für PowerPoint-Präsentationen erzeugen

Seite drucken
Diese Seite bookmarken: Diese Seite zu del.icio.us hinzufügen Diese Seite zu Mister Wong hinzufügen Diese Seite zu Google hinzufügen

Diesen Artikel als
PDF herunterladen
(nur für Mitglieder von akademie.de).

Von Lorenz Hölscher

(22.07.2010) 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.

Tipp: 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.

Achtung: 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:

Der Dialog-Entwurf mit den Namen der Kontrollelemente Der Dialog-Entwurf mit den Namen der Kontrollelemente
(Bild vergrößern)

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.

Icon
Mitglieder akademie.deAls Mitglied von akademie.de lesen Sie den ganzen Beitrag. [Zum Login]

Sie sind noch nicht Mitglied bei akademie.de? Testen Sie einfach 14 Tage gratis unser Angebot! Nach der Anmeldung erhalten Sie sofort Zugriff auf 99% aller Beiträge.

Ihre Mitgliedschaft können Sie 14 Tage lang stornieren - eine E-Mail mit "Storno" im Betreff genügt schon. Ausführliche Informationen zum Mitgliederabo und den Vorteilen finden Sie auf unseren Seiten "Mitglied werden" und den "AGB".

Die Anmeldung benötigt nur drei Minuten:

Anrede
     



Wenn ich in den 14 Tage Probezeit nicht storniere, entscheide ich mich für das Abo: