|  
                                             Hallo zusammen 
Ich hoffe Ihr könnt mir bei  meinem Problem weiterhelfen. Ich bin relativ unerfahren mit vba und komme einfach nicht weiter. 
Folgendes Problem 
  
Ich habe eine Excelverknüpfung in PowerPoint eingefügt. Diese aktualisiert sich auch automatisch solange ich die Präsentation nich starte. Sobald die Präsentation einmal gestartet wurde, aktualisieren sich die Verknüpfungen nicht mehr. Nun habe ich folgenden Code, der die Verknüpfung auch während der Präsentatiton aktualsiert. Diesen würde ich gerne, sobald die Datei geöffnet wird, alle 5 Minuten wiederholen lassen, bis man die Datei wieder schließt. 
Für jeden Tipp oder Ratschlag wäre ich euch sehr Dankbar. :) 
Option Explicit
Private Sub Workbook_Open()
    'Declare PowerPoint
    Dim PPTSlide As Slide
    Dim PPTShape As Shape
    Dim SourceFile, FilePath As String
    Dim Position As Integer
    
    'Declare Excel Variables
    Dim xlApp As Excel.Application
    Dim xlWrkBook As Excel.Workbook
    
    'Create a new instance of Ecel
    Set xlApp = New Excel.Application
        xlApp.Visible = False
        xlApp.DisplayAlerts = False
        
    'Loop through the slides in the presentation.
    For Each PPTSlide In ActivePresentation.Slides
    
        'Loop through each shape in the slide.
        For Each PPTShape In PPTSlide.Shapes
        
            'If the shape is a linked object, continue
            If PPTShape.Type = msoLinkedOLEObject Then
            
                'Get the linked source name.
                SourceFile = PPTShape.LinkFormat.SourceFullName
                
                'Parse the Source file name.
                Position = InStr(1, SourceFile, "!", vbTextCompare)
                FilePath = Left(SourceFile, Position - 1)
                
                'Open the associated Excel Workbook
                Set xlWrkBook = xlApp.Workbooks.Open(FilePath, False, True)
                
                    'Update the link
                    PPTShape.LinkFormat.Update
                    
                'Close the workbook an erase it from memory.
                xlWrkBook.Close
                Set xlWrkBook = Nothing
                
            End If
        Next
    Next
    
End Sub
  
     |