この質問は既に何度も尋ねられていますが、残念ながら実際の解決策を見つけることはできません。VBAを使用してPowerPointのグラフを更新する
私は非常にシンプルなプレゼンテーションをPowerPointで作成しています(Excelテーブルから作成された1つのグラフで1つのスライドのみ).VBA経由で最新のデータで更新する必要があります。
Sub update1()
ActivePresentation.UpdateLinks
End Sub
それを実行するようだが、何も変更を加えていない:すべての
まず、私は、PowerPointから最も明らかなスクリプトを試してみました。次に私はウェブで解決策を探し始め、例えば次のようなものを見つけました:topic on StackOverflow。
Optimistic Busyの回答では、エラーなしで実行され、MessageBoxで出力されますが、PowerPointのグラフでは何も変更されません。それをrinuspことで答えを
は私にエラー
実行時エラー '91' を与える:オブジェクト変数またはWithブロック変数が行に
をFor each sld in myPresentation.Slides
を設定していません
これらのマクロはすべてPowerPointで試しました。
私はStackOverflowの他の質問からの回答も試みましたが、残念ながら何も私のために働きません。誰かが私に役立つ解決策を見つけることができれば幸いです.VBAスクリプトを実行するには、ExcelやPowerPointから問題はありません。
ありがとうございます。
更新:実行しようとしたコードの完全な例で質問を更新しています。この例は、前述のStackOverflowトピックのユーザーの楽観的なビジーとリニューアルによって提供されました。
このコードパワーポイントから実行してくれエラー与え、「実行時エラー 『91』:オブジェクト変数またはWithブロック変数が設定されていません」
Sub update2()
Dim myPresentation As PowerPoint.Presentation
Dim sld As PowerPoint.Slide
Dim shp As PowerPoint.Shape
Dim myChart As PowerPoint.Chart
For Each sld In myPresentation.Slides
For Each shp In sld.Shapes
If shp.HasChart Then
Set myChart = shp.Chart
myChart.ChartData.Activate
myChart.Refresh
End If
Next
Next
End Sub
をして、このコードがエラーなしで実行され、出力を提供しますメッセージボックスが、PowerPointでマクロを実行すると、あなたのチャートがリンクされている場合は、このコードは動作しますチャート
Sub update3()
Dim sld As Slide, shp As Shape
For Each sld In ActivePresentation.Slides
For Each shp In sld.Shapes
On Error Resume Next
shp.LinkFormat.Update
Next
Next
MsgBox ("Update chart")
End Sub
こんにちは、あなたが仕事をしようとしている完全なコードを投稿できますか?このエラーは、対話しているオブジェクトへの参照がないことに関連しているようです。 –
@RyanWildry、私はコードの完全な例で私の質問を更新しました。 – Hasek