none
Powerpoint: Bild während dem Präsentationsmodus ändern RRS feed

  • Allgemeine Diskussion

  • Hallo!

     

    Ich habe eine Powerpoint-Präsentation welche aus ca. 20 Folien besteht. Die Präsentation läuft solange durch bis ESC gedrückt wird, also ein Endlosschleife.

    Des Weiteren habe ich einen Ordner voll mit Fotos. Ich möchte nun das bei jedem Durchlauf ein anderes Bild auf der 2. und 6. Folie eingebunden wird.

    Also jedesmal wenn die Präsentationsschleife wieder von vorne beginnt brauch ich ein Makro?,Add-In? welches das Bild dynamisch einbindet.

     

    Ist das überhaupt möglich???

    Danke für eure Hilfe!!!

    Samstag, 10. September 2011 12:42

Alle Antworten

  • Hallo Jamesinger
    man kann OnSlideShowPageChange Event in einem PPTM verwenden:
    Sub OnSlideShowPageChange(ByVal Wn As SlideShowWindow)
        
        If ActivePresentation.SlideShowWindow.View.CurrentShowPosition = 1 Then
            'man sollte natuerlich GetRandomPicture selber gestalten :-)
            Wn.Presentation.Slides(2).Shapes(1).LinkFormat.SourceFullName = GetRandomPicture
            Wn.Presentation.Slides(2).Shapes(1).LinkFormat.Update
        End If
        
    End Sub
    
    

     
    Leider gab es Probleme mit diesem Event. Man sollte sicherheitshalber ein Add-in machen, wo Auto_Open gnadenlos funktioniert:
    Eine Klasse einfügen. Code in Class1:
    Dim WithEvents p As PowerPoint.Application
    
    Private Sub Class_Initialize()
        Set p = Application
    End Sub
    
    Private Sub Class_Terminate()
        Set p = Nothing
    End Sub
    
    Private Sub p_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
        
        If Wn.Presentation.Name = "MyPresentation.ppsx" Then
            'wenn man das erste Slide erwischt, aendert man das Bild
            If Wn.View.CurrentShowPosition = 1 Then
                Wn.Presentation.Slides(2).Shapes(1).LinkFormat.SourceFullName = "C:\Users\a-boroiu\Pictures\test.png"
                Wn.Presentation.Slides(2).Shapes(1).LinkFormat.Update
            End If
        End If
        
    End Sub
    
    

     
    Ein Modul einfügen. Code in Module1:
    Dim c As Class1
    
    Sub Auto_Open()
        Set c = New Class1
        MsgBox "Auto_Open"
    End Sub
    
    Sub Auto_Close()
        Set c = Nothing
        MsgBox "Auto_Close"
    End Sub
    

     
     
    Grüße,
    Bogdan

    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt
    Dienstag, 13. September 2011 12:03
  • Achtung! Das Add-in soll man explizit laden, nachdem man die .ppam erstellt hat - wird nicht automatisch aktiviert. Also:

    PowerPoint -> Options -> Add-ins -> PowerPoint Add-ins -> Add

    :-)

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt
    Dienstag, 13. September 2011 12:09
  • Dieser Thread wurde in Diskussion umgewandelt. Natürlich sind weitere Nachfragen / Beiträge möglich und selbstverständlich willkommen.

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt
    Montag, 19. September 2011 08:35