Office: (Office 2016) PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben

Helfe beim Thema PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben in Microsoft PowerPoint Hilfe um das Problem gemeinsam zu lösen; Hallo werte Community Ich habe nun bereits mehr als einen ganzen Arbeitstag mit der Suche nach dem richtigen VBA-Code (respektive Bausteinen dafür)... Dieses Thema im Forum "Microsoft PowerPoint Hilfe" wurde erstellt von PRichard, 23. Juni 2017.

  1. PRichard hat Ahnung

    PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben


    Hallo werte Community

    Ich habe nun bereits mehr als einen ganzen Arbeitstag mit der Suche nach dem richtigen VBA-Code (respektive Bausteinen dafür) verbracht (kenne mich eigentlich nur mit Excel-VBA ein wenig aus). Völlig verzweifelt wende ich mich nun an euch..!

    Herausforderung (um nicht Problem zu sagen):
    - Das Makro soll mir ein Inhaltsverzeichnis im einzigen Textfeld der letzten Folie erstellen;
    - Es sollen die Namen der Abschnitte eingefügt werden;
    - Bei den jeweiligen Positionen der aufgelisteten Abschnitte soll ein Hyperlink hinterlegt werden, der immer auf die erste Folie des jeweiligen Abschnitts verlinkt ist;

    Informationen zur Datei:
    - Die Datei soll "unendlich" erweiterbar sein, also keinen Code wie: "mach das bei den ersten 5 Abschnitten"
    - Die Namen der Abschnitte können variieren. D.h. dass jede potentielle Zeichenabfolge als Name vorkommen kann.


    Ihr seid meine letzte Hoffnung, deshalb drücke ich mir mal selbst die Daumen, dass die richtigen Personen meinen Eintrag sehen :)

    Liebe Grüsse

    Pascal
     
    PRichard, 23. Juni 2017
    #1
  2. PRichard hat Ahnung
    Hallo zusammen

    Nach einem erholsamen Wochenende habe ich mich nochmals hochkonzentriert dahinter gesetzt.
    Das Ergebnis: Ich hab's geschafft! :D

    Hier die Lösung dazu:

    Code:
    Sub TableOfContent()
    '*** Copyright by Pascal Mario Richard, 2017-06-26 ***
    
    Dim i As Long
    
    x = 2 'Agenda-Slide
    lsp = ActivePresentation.SectionProperties.count 'No. of sections
    L = 1 'first line in shape
    
    'Read and write section titles
    With Application.ActivePresentation.SectionProperties
        For i = 1 To lsp
            If i < 2 Then
                ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange.Text = ActivePresentation.SectionProperties.Name(i) & vbCrLf
            Else
                    a = ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange
                    b = ActivePresentation.SectionProperties.Name(i) & vbCrLf
                    ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange.Text = a & b
            End If
        Next i
    End With
    
    'Insert hyperlinks
    Do
            With ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange.Lines(L).ActionSettings(ppMouseClick)
                .Action = ppActionHyperlink
                .Hyperlink.Address = ""
                .Hyperlink.SubAddress = ActivePresentation.SectionProperties.FirstSlide(L)
            End With
        i = i + 1
        L = L + 1
    Loop Until L = lsp + 1
    
    End Sub
     
    Zuletzt bearbeitet: 19. Juni 2019
    PRichard, 26. Juni 2017
    #2
  3. Hallo,
    ich würde das Marko auch gern für meine Präsentation nutzen. Wie kann ich es umbauen das es bei mir auch geht?
    Danke im Voraus.

    beste grüße lars
     
    larsmuc, 19. Juni 2019
    #3
  4. PRichard hat Ahnung

    PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben

    Hallo Lars
    Dafür müsste ich wohl kurz einen Blick in deine Datei werfen.
    Hast du denn bereits Abschnitte hinzugefügt und umbenannt?
    PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben Abschnitt_hinzufügen.png

    Grüsse
    Pascal
     
    PRichard, 19. Juni 2019
    #4
  5. Hallo,
    ja habe ich eingefügt.

    Wie kann ich die Datei dir zuschicken?

    Geht das nur über die Abschnitte oder kann man es auch über die Titel erzeugen alles?
    Grüße Lars
     
    larsmuc, 19. Juni 2019
    #5
  6. PRichard hat Ahnung
    Ja, es funktioniert nur über die Abschnitte. Über Titel hatte ich damals auch probiert, habe es aber nicht hingekriegt.
    Über die Abschnitte ist es aber sowieso sauberer in Sachen Gliederung.

    Du hast eine PN erhalten mit meiner Mail.
    Grüsse
    Pascal
     
    PRichard, 19. Juni 2019
    #6
  7. PRichard hat Ahnung
    Hallo Lars
    Danke fürs Zusenden deiner Datei.
    Lösche in deinem Makro die oberste Zeile (Option Explicit) und entferne ausserdem die folgende Passage:
    'control As IRibbonControl)
    --> ich habe den Code oben entsprechend angepasst.

    Danach sollte es funktionieren (bei mir hat es das jedenfalls).

    Am Ende bloss noch die Variable x anpassen (=Foliennummer, wo du das Inhaltsverzeichnis haben willst --> 1 = erste Folie / 2 = zweite Folie / etc.).

    Grüsse
    Pascal
     
    PRichard, 19. Juni 2019
    #7
  8. PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben

    Hallo Pacal,

    es funktioniert in der Datei die du mir geschickt hast.

    Frage:
    - das es sich Automatisch aktualisiert ist das möglich?
    - kann man einbauen das eine Gleiderung 1,2,3 etc. der Abschnitte als Inhaktsverzeichnis kommen?

    Danke im Voraus.
    Gruß Lars
     
    Zuletzt bearbeitet: 21. Juni 2019
    larsmuc, 21. Juni 2019
    #8
  9. PRichard hat Ahnung
    Hallo Lars

    Zu deinen Fragen:
    - Du kannst das Makro meines Wissens ans Starten, Schliessen oder Speichern koppeln, weiss aber gerade nicht wie das funktioniert (zu lange her ;-) )
    - Sollte eigentlich möglich sein. Dazu müsstest du in der folgenden Codezeile vor "a & b" noch eine Variable einfügen. "ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange.Text = a & b"
    --> beispielsweise Nr & a & b (die Variable Nr natürlich auch noch sauber definieren. Schaffst du bestimmt auch selbst)

    Grüsse
    Pascal
     
    PRichard, 21. Juni 2019
    #9
  10. Hallo, Pascal,

    mit der (die Variable Nr natürlich auch noch sauber definieren. Schaffst du bestimmt auch selbst) bin ich leider nicht so fit :-(
    Kannst du mri da Helfen?
     
    larsmuc, 21. Juni 2019
    #10
  11. PRichard hat Ahnung
    Hallo Lars

    Klar, hier der angepasste Code.
    War dann doch leicht anders, als ich auf den ersten Blick vermutet hatte.


    Code:
    Sub TableOfContent()
    '*** Copyright by Pascal Mario Richard, 2017-06-26 ***
    
    Dim i As Long
    
    x = 2 'Agenda-Slide
    lsp = ActivePresentation.SectionProperties.Count 'No. of sections
    L = 1 'first line in shape
    
    'Read and write section titles
    With Application.ActivePresentation.SectionProperties
        For i = 1 To lsp
            If i < 2 Then
                ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange.Text = ActivePresentation.SectionProperties.Name(i) & vbCrLf
            Else
                    a = ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange
                    b = ActivePresentation.SectionProperties.Name(i) & vbCrLf
                    ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange.Text = a & i & " " & b
            End If
        Next i
        ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange.Text = "1 " & a & i - 1 & " " & b
    End With
    
    'Insert hyperlinks
    Do
            With ActivePresentation.Slides(x).Shapes(1).TextFrame.TextRange.Lines(L).ActionSettings(ppMouseClick)
                .Action = ppActionHyperlink
                .Hyperlink.Address = ""
                .Hyperlink.SubAddress = ActivePresentation.SectionProperties.FirstSlide(L)
            End With
        i = i + 1
        L = L + 1
    Loop Until L = lsp + 1
    
    End Sub

    Grüsse
    Pascal
     
    PRichard, 21. Juni 2019
    #11
  12. Danke sehr Pascal :-)
     
    larsmuc, 21. Juni 2019
    #12
Thema:

PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben

Die Seite wird geladen...
  1. PowerPoint VBA Inhaltsverzeichnis mit Abschnitten in hinterste Folie schreiben - Similar Threads - PowerPoint VBA Inhaltsverzeichnis

  2. Textfeld Powerpoint Ränder

    in Microsoft PowerPoint Hilfe
    Textfeld Powerpoint Ränder: Hallo liebes Forum! Wo kann ich im PPT einstellen, dass die Ränder automatisch immer auf "0" sind, wenn ich ein Textfeld aufziehe. Auf dem Folienmaster sind die Ränderabstände bereits auf "0"...
  3. Menü als Navigation in VBA programmieren (Hyperlink alternative)?

    in Microsoft PowerPoint Hilfe
    Menü als Navigation in VBA programmieren (Hyperlink alternative)?: Hallo zusammen, meine ppt hat fast 100 Folien , wobei meistens 5 Folien zu einem Thema («zum gleichen Paket») gehören. Nun möchte ich gerne gleich zu Beginn ein Menüfenster einfügen, damit man zu...
  4. Berechnungen in PowerPoint

    in Microsoft PowerPoint Hilfe
    Berechnungen in PowerPoint: Hallo zusammen, die angefügte pptx Datei ist normalerweise im pptm Format gespeichert. Leider bin ich eine absolute Niete was VBA angeht. Ich möchte, das einige Berechnungen bei einer...
  5. Automatische Präsentation steuern

    in Microsoft PowerPoint Hilfe
    Automatische Präsentation steuern: Für eine Sportveranstaltung (Double Ultra Triathlon Emsdetten) würde ich gerne folgendes Szenario umsetzen. Auf einer Präsentations-LED-Videowand werden die Live-Ergebnisse des Wettkampfs über...
  6. Excel VBA --> In PowerPoint definiert ein Placeholder ansprechen

    in Microsoft Excel Hilfe
    Excel VBA --> In PowerPoint definiert ein Placeholder ansprechen: Hallo zusammen, ich werde hier noch verrückt. Mein Ziel ist es über Excel VBA eine PowerPoint zu füllen wobei ich zwei Placeholder habe die zwei unterschiedliche Bilder bekommen sollen. Ich...
  7. Screenshot der UserForm in Powerpoint einfügen

    in Microsoft Excel Hilfe
    Screenshot der UserForm in Powerpoint einfügen: Hallo, eigentlich beschreibt der Titel schon sehr genau was mein Problem ist. Ich habe in Excel eine UserFormr erstellt, dass sich über eine Schleife mit den jeweiligen Zeilenwerten füllt....
  8. PowerPoint VBA - nur erste Zeile des Makros wird ausgeführt?

    in Microsoft PowerPoint Hilfe
    PowerPoint VBA - nur erste Zeile des Makros wird ausgeführt?: Hallo, allerseits! Was mach ich falsch, was habe ich nicht bedacht? Ich habe folgendes gemacht: Auf einer Folie habe ich 3 farbige (halbtransparent rot, grün, blau gefüllt) Kreise. als...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden