将Excel表格粘贴复制到特定PPT幻灯片

将Excel表格粘贴复制到特定PPT幻灯片,excel,vba,macos,powerpoint,Excel,Vba,Macos,Powerpoint,详情: Mac Excel(2016)复制到Mac PPT(2016) 最后,我想循环浏览所有表格,并将每个表格粘贴到PPT中各自的幻灯片上 但首先,我试图简单地从Excel复制一个表并粘贴到一个特定的PPT文件(而不是一个新的演示文稿) 我做错了什么?任何帮助都将不胜感激 尝试下面的代码(不使用Select和ActivePresentation,这会降低代码的运行速度) 首先,请将OPTION EXPLICIT添加到代码模块的第一行。养成这样的习惯,你的生活就会快乐得多。其次,您的专用行使用“

详情: Mac Excel(2016)复制到Mac PPT(2016)

最后,我想循环浏览所有表格,并将每个表格粘贴到PPT中各自的幻灯片上

但首先,我试图简单地从Excel复制一个表并粘贴到一个特定的PPT文件(而不是一个新的演示文稿)

我做错了什么?任何帮助都将不胜感激

尝试下面的代码(不使用
Select
ActivePresentation
,这会降低代码的运行速度)


首先,请将OPTION EXPLICIT添加到代码模块的第一行。养成这样的习惯,你的生活就会快乐得多。其次,您的专用行使用“应用程序”,它将是Excel,但我认为您希望它是PowerPoint应用程序。使用PPT.ActiveWindow.View.PasteSpecial…^^^此外,我不经常使用Powerpoint VBA(即从不),但应该
PPT.Slides(2)。选择
be
PPpress.Slides(2)。选择
?我希望幻灯片是演示文稿的属性,而不是Powerpoint应用程序的属性。收到编译错误:找不到方法或数据成员。它突出显示了
Set myShape=PPPres.Slides(2).Shapes.PasteSpecial(ppPastePNG,msoFalse)
代码行中的“.PasteSpecial”。@BenSimmons您是什么时候更新它的MAC版的?我不能在MAC上测试它,因为我在PC上工作。我添加了第二个选项,看看它是否适合你。我在原始描述中有它。这似乎就是问题所在。
PasteSpecial(ppPastePNG)
似乎就是问题所在。不确定如何实现的是MAC PPT。收到与以前相同的错误。@BenSimmons请尝试
PasteSpecial(ppPasteEnhancedMetafile)
PasteSpecial(ppPasteMetafilePicture)
,告诉我它们是否适用于您上述两种情况的相同编译错误。我搜索了StackOverflow和其他博客-找不到任何特定于此MAC Excel到MAC 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
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