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
|