リンクとして貼り付けられた複数のExcelグラフがあるPowerPointプレゼンテーションがあります。 VBAを使用して、私はチェックして、これらの図形のタイプはmsoLinkedOLEObject
です。Powerpoint VBA:リンクされたExcelグラフのオープンソース
私が望む:これを知っ
、私はこのように、最初のVBAを通じて、元のチャートを含むExcelファイルを開き、チャートの「更新リンク」コマンドを使用したいです最初に "update link"コマンドを開いたExcelファイルで使用すると、通常は "link link"コマンドを直接使用するよりも速くなります(たぶんいくつかの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