打开 PowerPoint 并从 Excel 复制到特定幻灯片

Open PowerPoint and copy from Excel to specific slide

我想打开一个现有的 PowerPoint 模板和 select 幻灯片 3,然后将 table 从我的电子表格复制到 PowerPoint 幻灯片。

有人能告诉我怎么做吗?

Sub Open_PowerPoint_Presentation()
'Opens a PowerPoint Document from Excel

    Dim objPPT As Object
    Dim PPSlide As Object

    Set objPPT = CreateObject("PowerPoint.Application")
    Set PPSlide = objPPT.Slides(5)

    objPPT.Visible = True

    'Change the directory path and file name to the location
     'of your document

    objPPT.Presentations.Open "\MI-FILESERVE1\Shared Folders\Shared_Business_Dev\assets\Tender Time Allocation Deck.pptx"

    PPSlide.Select




     End Sub

小心:如果 collection 为空,则无法粘贴幻灯片的形状

即: 你需要一张至少有标题或形状(正方形、三角形等)的幻灯片,以便能够将你复制的内容粘贴到剪贴板中。

这是基础知识,您应该更正 excel 行以复制您想要的内容:

Sub Open_PowerPoint_Presentation()

Dim objPPT As Object, _
    PPTPrez As PowerPoint.Presentation, _
    pSlide As PowerPoint.Slide

Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = True

Set PPTPrez = objPPT.Presentations.Open("\MI-FILESERVE1\Shared Folders\Shared_Business_Dev\assets\Tender Time Allocation Deck.pptx")
Set pSlide = PPTPrez.Slides(5)

If pSlide.Shapes.Count <> 0 Then
    'Table
    ActiveWorkbook.Sheets("Sheet1").Range("Named Range").Copy
    pSlide.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
    'OR
    ActiveWorkbook.Sheets("Sheet1").Range("Named Range").CopyPicture
    pSlide.Shapes.Paste

    'Charts
    ActiveWorkbook.Sheets("Graph1").ActiveChart.ChartArea.Copy
    pSlide.Shapes.PasteSpecial DataType:=ppPasteEnhancedMetafile
    'OR
    ActiveWorkbook.Sheets("Graph1").ActiveChart.ChartArea.CopyPicture
    pSlide.Shapes.Paste
Else
    MsgBox "There is no shape in this Slide (" & pSlide.SlideIndex & ")." & vbCrLf & "Please use a slide with at least one shape, not a blank slide", vbCritical + vbOKOnly
End If

End Sub