Powerpoint mit VBA aktuelle Folie ermitteln für Weiterverabe

Antwort erstellen

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :razz: :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :badgrin: :doubt:
BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet
Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Powerpoint mit VBA aktuelle Folie ermitteln für Weiterverabe

Powerpoint mit VBA aktuelle Folie ermitteln für Weiterverabe

Beitrag von mrkw01 » 18. Okt 2017, 10:16

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.

Code: Alles auswählen
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


Code: Alles auswählen
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

Nach oben