2017-02-14 16 views
0

リンクとして貼り付けられた複数のExcelグラフがあるPowerPointプレゼンテーションがあります。 VBAを使用して、私はチェックして、これらの図形のタイプはmsoLinkedOLEObjectです。Powerpoint VBA:リンクされたExcelグラフのオープンソース

enter image description here

私が望む:これを知っ

、私はこのように、最初の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 

答えて

2

あなたは

sld.Shapes(i).OLEFormat.DoVerb 

sld.Shapes(i).OLEFormat.Activate 

それとも

は、あなたがそれを編集できるようにリンクされたオブジェクトを開きます sld.Shapes(i).LinkFormat.Update

両方が続い使用することができます。しかし、これはVBAで操作できるExcelオブジェクトへの参照を持つには不十分です。

関連する問題