2017-04-21 8 views
1

詳細スライドに貼り付け:MacのPPT(2016)に マックエクセル(2016)のコピーをコピーエクセル表固有のPPT

結局、私はすべてのテーブルをループしたいとでは、独自の個々のスライド上の各テーブルを貼り付けますPPT。

しかし、まずExcelから1つのテーブルをコピーして特定のPPTファイルに貼り付けようとしています(正味の新しいプレゼンテーションではありません)。

Sub OpenPPTandCopySelectedTable() 

Dim PPT As PowerPoint.Application 
Set PPT = New PowerPoint.Application 
PPT.Visible = True 

'Open the specific Template 
PPT.Presentations.Open Filename:="/Users/MyNameHere/Downloads/FileName.pptx" 

'Make Specific File the Active Presentation 
Set PPPres = PPT.ActivePresentation 

'Copy the Excel Table 
Range("Table1[#All]").Copy 

'Select PowerPoint Slide number 2 
PPT.Slides(2).Select 

'Paste Special 
Application.ActiveWindow.View.PasteSpecial DataType:=ppPastePNG 

End Sub 

私は間違っていますか?どんな助けもありがとう。

+2

まず、コードモジュールの最初の行にOPTION EXPLICITを追加してください。それを習慣にすると、あなたは人生でもっと幸せになるでしょう。第二に、あなたのPasteSpecial行はExcelとなる "Application"を使いますが、あなたはそれをPowerPointアプリケーションにしたいと思います。 PPT.ActiveWindow.View.PasteSpecialを使用してください... –

+2

^^また、私はPowerpoint VBAを頻繁には使用しませんが、PPT.Slides(2).SelectをPPPres.Slides(2)にする必要があります。選択 '?私は、「スライド」はプレゼンテーションのプロパティであり、Powerpointアプリケーションではないと考えています。 – YowE3K

答えて

1

SelectActivePresentationを使用せずに、コードの実行時間を遅くするコードを試してください。

Option Explicit 

Sub OpenPPTandCopySelectedTable() 

Dim PPT As PowerPoint.Application 
Dim PPPres As PowerPoint.Presentation 
Dim myShape As Object 

Set PPT = New PowerPoint.Application 

' Open the specific Template and set it (in 1 line) 
Set PPPres = PPT.Presentations.Open(Filename:="/Users/MyNameHere/Downloads/FileName.pptx", ReadOnly:=msoFalse) 

'Copy the Excel Table 
Range("Table1[#All]").Copy 

' Paste to PowerPoint and set to MyShape 
'Set myShape = PPPres.Slides(2).Shapes.PasteSpecial(ppPastePNG, msoFalse) 
' if you want to edit the properties 
'With myShape 
    '.Left = 
    '.Top =  
'End With 

' Option 2: 
PPPres.Slides(2).Shapes.PasteSpecial (ppPastePNG) 

End Sub 
+0

コンパイルエラーが発生しました:メソッドまたはデータメンバーが見つかりません。これは、Set myShape = PPPres.Slides(2).Shapes.PasteSpecial(ppPastePNG、msoFalse) 'のコード行で" .PasteSpecial "を強調表示しています。 –

+0

@BenSimmonsいつMAC用に更新しましたか? MACでテストすることはできません。私はPCで作業しています。私はasecondオプションを追加しました、おそらくそれはあなたのために動作する参照してください –

+0

私は元の説明でそれを持っていた。これは問題と思われます。 'PasteSpecial(ppPastePNG)'が問題になっているようです。 MAC PPTを達成する方法がわかりません。前と同じエラーを受け取ります。 –