現在、vptを使用してpptレポートの作成を自動化しています。私はExcelのチャートをコピーしてpptに貼り付ける必要があります。私は正常にExecuteMso "PasteExcelChartSourceFormatting"を使用して、ソースコードの書式設定とブックの埋め込みの間に貼り付けることができるように、グラフを貼り付けることができましたが、コードの位置を変えようとすると、 ppt。 コードを参照してください:オブジェクトのexcelからpptにグラフを投稿した後に実行時エラーが発生しました
Sub Update()
Dim ppApp As PowerPoint.Application
Dim ppPres As PowerPoint.Presentation
Dim ppSlide As PowerPoint.Slide
Set ppApp = New PowerPoint.Application
ppApp.Visible = True
ppApp.Activate
Set ppPres = ppApp.Presentations.Open("C:\Users\ashah\Documents\Advisory.pptx")
ppPres.Slides(1).Shapes(7).Delete
Sheet1.ChartObjects("Chart 24").Chart.ChartArea.Copy
ppPres.Slides(1).Select
DoEvents
ppApp.CommandBars.ExecuteMso "PasteExcelChartSourceFormatting"
ppApp.CommandBars.ReleaseFocus
DoEvents
ppPres.Slides(1).Shapes(7).Left = _
(ppPres.PageSetup.SlideWidth/2) - (ppPres.Slides(1).Shapes(7).Width/2)
ppPres.Slides(1).Shapes(7).Top = 77
End Sub
私は実行時エラーを取得する「--2147188160(80048240)」、メソッド「アイテム」「シェイプ」は失敗しました。デバッグは私のコードの最後の数行をハイライト表示します。
アドバイスをいただければ幸いです!
'Shape(7)'は存在しますか? – Tom
ppPres.Slides.Shapes.Pasteのような標準的なペーストコードを使用した場合、ポジションコードが機能すると思います。それはちょうどexecuteMsoで動作していない – chandu
私はコードの最後の2行をShape(1)または任意のFigureに変更しても、それは動作しません。これらの形はパワーポイントに存在します! – chandu