PasteSpecial Excel Table 到幻灯片占位符 PowerPoint VBA

PasteSpecial Excel Table into Slide Placeholder PowerPoint VBA

很抱歉发布另一个 PasteSpecial 问题,但我没有找到与我正在尝试做的事情完全相关的内容。

我有一些 VBA 代码:

For Each Workbook In Workbooks

For Each Sheet In Workbook.Sheets

running_pp_app.ActivePresentation.Slides.Add running_pp_app.ActivePresentation.Slides.Count + 1, ppLayoutTitleOnly
Sheet.Range("a1:b2").Copy
running_pp_app.ActivePresentation.Slides(running_pp_app.ActivePresentation.Slides.Count).Shapes.PasteSpecial DataType:=ppPasteDefault, link:=msoCTrue

Next Sheet
Next Workbook

当我将 Excel 范围粘贴到幻灯片中时,我最终希望粘贴的 range/shape 在幻灯片布局中占据一个占位符。我不希望它只是幻灯片上的一些额外形状。

最终,我的目标是能够通过主布局轻松控制所有粘贴的 ranges/shapes(在我的 VBA 运行后通过 UI)。我不知道如何将链接的 OLE 对象粘贴到幻灯片中,以便它占据一个占位符位置——例如 "Title and Content" 主布局中的 "content"。

我该怎么做?

感谢所有帮助。谢谢

我的第一个想法是这似乎不可能。这适用于粘贴到占位符中:

Sub PasteIntoPlaceholder()
    ActivePresentation.Slides(1).Shapes(2).Select
    ActiveWindow.View.PasteSpecial DataType:=ppPasteDefault
End Sub

但是一旦您添加 link 参数,它就会作为一个单独的形状粘贴,而不是在占位符中。

这主要对应于用户界面中的类似操作。直接粘贴到带有选定占位符的幻灯片上将按预期插入图表,但选择性粘贴不会。

修订:

根据您的建议,这基本上可以完成工作。占位符缩小以适合粘贴的 Excel 对象,而不是 Excel 对象扩展以适合占位符,但是嘿,它有效:

Sub PasteIntoPlaceholder()
    With ActiveWindow
        .View.PasteSpecial DataType:=ppPasteDefault, Link:=msoCTrue
        .Selection.Cut
        ActivePresentation.Slides(1).Shapes(2).Select
        .View.Paste
    End With
End Sub