Excelシートに表示されているチャートをコピーし、PowerPointに貼り付ける(エクストラシートを貼り付ける)エクセルマクロを作成しようとしています。私が抱えている問題は、それぞれのチャートを別のスライドに貼り付ける方法です。私はこれは私がこれまで持っているものであるVBAを使用してExcelチャートをPowerpointに貼り付けよう
構文ですべてを...知らない(それが動作しますが、それ最初のシートにのみペースト):
Sub graphics3()
Sheets("Chart1").Select
ActiveSheet.ChartObjects("Chart1").Activate
ActiveChart.ChartArea.Copy
Sheets("Graphs").Select
range("A1").Select
ActiveSheet.Paste
With ActiveChart.Parent
.Height = 425 ' resize
.Width = 645 ' resize
.Top = 1 ' reposition
.Left = 1 ' reposition
End With
Dim PPT As Object
Set PPT = CreateObject("PowerPoint.Application")
PPT.Visible = True
PPT.Presentations.Open Filename:="locationwherepptxis"
Set PPApp = GetObject("Powerpoint.Application")
Set PPPres = PPApp.activepresentation
Set PPSlide = PPPres.slides _
(PPApp.ActiveWindow.Selection.SlideRange.SlideIndex)
' Copy chart as a picture
ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, _
Format:=xlPicture
' Paste chart
PPSlide.Shapes.Paste.Select
' Align pasted chart
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignCenters, True
PPApp.ActiveWindow.Selection.ShapeRange.Align msoAlignMiddles, True
1を6つのグラフをプロットするためしかし、なぜ事前バインディングではありませんか? –
Thx Jean-Francois。それは公正な質問です。短い答えは個人的な好みです。通常は、自動化されるオブジェクトの複数のバージョンが可能で、Q&Aフォーラムのユーザーが参照設定で苦労する可能性がある場合、私は遅れてバインドします。私は、ファイルスクリプティングライブラリにバインドするだけで、私のDuplicate Masterアドインで早期のビンジングを使用していましたが、ランタイムの20〜30%を削減し、アドインの一部として、自動的にインストールされます。 – brettdj