0
我有一個PowerPoint演示文稿,其中有幾個Excel圖表粘貼爲鏈接。使用VBA,我已經檢查過了,這些形狀的類型是msoLinkedOLEObject
。Powerpoint VBA:鏈接Excel圖表的開放源代碼
認識到這一點,我想先打開包含原始圖表通過VBA的Excel文件,然後使用圖表的「更新鏈接」命令,就像這樣:
祝首先打開工作簿,因爲使用「更新鏈接」命令和打開的Excel文件對我來說通常比直接使用「更新鏈接」命令更快(可能是因爲某些PowerPoint演示文稿和某些工作簿非常令人震驚)。
對於sld.Shapes(i).LinkFormat
部分代碼,我可以使用.UpdateLinks
來直接刷新數據,但我找不到任何方式直接打開Excel源文件(以同樣的方式,我可以通過手動單擊鏈接圖表)。
這可以實現嗎?
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