Ich habe eine PowerPoint-Präsentation mit mehreren Excel-Charts als Links eingefügt. Mit VBA habe ich überprüft, und der Typ dieser Formen ist msoLinkedOLEObject
.Powerpoint VBA: Open Source von verknüpften Excel-Diagramm
Mit diesem Wissen, würde Ich mag zunächst die Excel-Datei öffnen, die die ursprüngliche Grafik durch VBA enthält und dann mit dem „Update-Link“ Befehl des Diagramms, wie folgt aus:
Ich wünsche um die Arbeitsmappen zuerst zu öffnen, da die Verwendung des "update link" -Befehls mit einer geöffneten Excel-Datei für mich normalerweise schneller ist, als den Befehl "update link" direkt zu verwenden (vielleicht, weil einige PowerPoint-Präsentationen und einige Arbeitsmappen wirklich extensiv sind).
Für den sld.Shapes(i).LinkFormat
Teil des Codes kann ich .UpdateLinks
verwenden, um die Daten direkt zu aktualisieren, aber ich kann keine Möglichkeit zum direkten Öffnen der Excel-Quelldatei finden (auf die gleiche Weise kann ich manuell auf das verknüpfte Diagramm klicken).
Konnte das erreicht werden?
Sub UpdateExcelLinkedCharts()
Dim pres As Presentation
Dim sld As Slide
Dim shp As Shape
Set pres = Application.ActivePresentation
'Loop through all active slides in the presentation
For Each sld In pres.Slides
If sld.SlideShowTransition.Hidden = msoFalse Then
'If the slide is a msoLinkedOLEObject, proceed to update its link
For i = 1 To sld.Shapes.Count
If sld.Shapes(i).Type = 10 Then
sld.Shapes(i).LinkFormat.UpdateLinks
End If
Next i
End If
Next sld
MsgBox ("All Links Updated!")
End Sub