none
Powerpoint mit VBA aktuelle Folie ermitteln für Weiterverabeitung RRS feed

  • Frage

  • Hallo,

    ich suche eine Möglichkeit in Powerpoint VBA bei jedem Folienwechsel die aktuelle Folie / Foliennummer zu ermitteln und diese in eine Variable zu schreiben. Diese Variable möchte ich dann zur weiteren Verarbeitung nutzen. z.B. Blende auf aktueller Folie die Grafik xyz aus wenn etwas passiert oder eine andere Variable einen bestimmten Wert hat.

    Wenn ich eine der beiden Varianten nutze, dann funktionieren nachfolgenden MsgBoxen nicht mehr / werden nicht angezeigt. Keine Ahnung warum? Wenn ich ActiveWindow... bzw.  powerPointApplication.ActiveWindow... deaktivieren und statt ActivePresentation.Slides(aktuelleFolie) ActivePresentation.Slides(2) schreibe, dann funktioniert das Einblenden und Ausblenden.

    Sub OnSlideShowPageChange()
    aktuelleFolie = ActiveWindow.Selection.SlideRange(1).SlideIndex
    MsgBox "Das ist Folie Slideindex " & aktuelleFolie
    If Joker5050 = "True" Then
        MsgBox "in der Schleife 1 = Joker5050 ausblenden"
        ActivePresentation.Slides(aktuelleFolie).Shapes("5050").Visible = 0
        ActivePresentation.Slides(aktuelleFolie).Shapes("5050_durchgestrichen").Visible = 1
    Else
        MsgBox "in der Schleife 2 = Joker5050 einblenden"
        ActivePresentation.Slides(aktuelleFolie).Shapes("5050").Visible = 1
        ActivePresentation.Slides(aktuelleFolie).Shapes("5050_durchgestrichen").Visible = 0
    
    ...
    ...
    End Sub


    Sub OnSlideShowPageChange() Set powerPointApplication = GetObject(, "PowerPoint.Application") Set powerPointPresentation = powerPointApplication.ActivePresentation aktuelleFolie = powerPointApplication.ActiveWindow.View.Slide.SlideIndex MsgBox "Das ist Folie Slideindex " & aktuelleFolie If Joker5050 = "True" Then     MsgBox "in der Schleife 1 = Joker5050 ausblenden"     ActivePresentation.Slides(aktuelleFolie).Shapes("5050").Visible = 0     ActivePresentation.Slides(aktuelleFolie).Shapes("5050_durchgestrichen").Visible = 1 Else     MsgBox "in der Schleife 2 = Joker5050 einblenden"     ActivePresentation.Slides(aktuelleFolie).Shapes("5050").Visible = 1     ActivePresentation.Slides(aktuelleFolie).Shapes("5050_durchgestrichen").Visible = 0

    ... ... End Sub

    Welchen Code sollte ich verwenden.

    Vielen Dank für Eure Antworten.

    Mittwoch, 18. Oktober 2017 09:23