2017-01-25 4 views
1

私はこの質問が以前に尋ねられたが、私はVBAの専門家ではないので、 。ExcelチャートのサイズをPowerPointで調整する

Excelから選択範囲をコピーし、テンプレートに基づいて新しいパワーポイントプレゼンテーションを開き、データをPowerPointのスライド2に貼り付けるVBAコードがあります。

私が今やりたいことは、チャートがあるとそのサイズと位置を操作することだけです。これを実現するには、このコードに以下を追加する必要がありますか?

'Opens a new PowerPoint presentation based on template and pastes data into Slide 2 of Powerpoint from Excel 

Dim PPapp As PowerPoint.Application, PPpres As PowerPoint.Presentation, PPslide As PowerPoint.Slide 
Dim XLws As Worksheet 

    Set XLws = ActiveSheet 
    Set PPapp = New PowerPoint.Application 
    Set PPpres = PPapp.Presentations.Open("C:\Users\Colin\Dropbox (Edge45)\Edge45 Team Folder\Edge45 Company Documents\Templates\Powerpoint Templates\Edge45 Audit Template Macro.potm", Untitled:=msoTrue) 
    PPapp.Visible = True 
    Set PPslide = PPpres.Slides(2) 
    XLws.Range("A1:D16").Copy 
    PPslide.Shapes.PasteSpecial DataType:=ppPasteHTML, Link:=msoFalse 
    Application.CutCopyMode = False 

答えて

2

Shapeオブジェクトを定義し、遊ん:このため

'Opens a new PowerPoint presentation based on template and pastes data into Slide 2 of Powerpoint from Excel 

Dim PPapp As PowerPoint.Application, PPpres As PowerPoint.Presentation, PPslide As PowerPoint.Slide, PPShape As Object 
Dim XLws As Worksheet 

Set XLws = ActiveSheet 
Set PPapp = New PowerPoint.Application 
Set PPpres = PPapp.Presentations.Open("C:\Users\Colin\Dropbox (Edge45)\Edge45 Team Folder\Edge45 Company Documents\Templates\Powerpoint Templates\Edge45 Audit Template Macro.potm", Untitled:=msoTrue) 
PPapp.Visible = True 
Set PPslide = PPpres.Slides(2) 
XLws.Range("A1:D16").Copy 
Set PPShape = PPslide.Shapes.PasteSpecial(DataType:=ppPasteHTML, Link:=msoFalse) 
Application.CutCopyMode = False 

With PPShape 
    .Top = 10 
    .Height = 100 
    .Left = 10 
    .Width = 100 
End With 
+0

おかげで私はそれがあなたの改正のコードでは何でも実行時間時エラータイプ13ミスマッチを取得 - 残念ながら、私は何見当がつかないその意味 - どんなアイデア? – Superhans

+0

@superhans:編集を試してみてください。理由はわかりませんが、PowerPointはペースト時にタイプを変更します。 – R3uK

+0

あなたはどの編集を意味しますか? – Superhans

関連する問題