我想要做的就是从Excel复制一个范围,然后将此范围粘贴到PowerPoint中。
当我的范围从Excel手动复制到剪贴板时......如果我在粘贴到PowerPoint时右键单击空白幻灯片,它会让我选择粘贴“使用目标样式”。
这意味着我可以编辑结果表。这是我想要的结果。
到目前为止,我只找到了涉及作为元文件粘贴的解决方案。
如果您有解决方案,请告诉我完整的代码,包括尺寸,因为PowerPoint中的VBA真的不是我的一杯茶。
提前感谢恢复我的理智!
Private Sub CommandButton2_Click()
Dim newPowerPoint As PowerPoint.Application
Dim activeSlide As PowerPoint.Slide
Dim cht As Excel.ChartObject
'Look for existing instance
On Error Resume Next
Set newPowerPoint = GetObject(, "PowerPoint.Application")
On Error GoTo 0
'Show the PowerPoint
newPowerPoint.Visible = True
newPowerPoint.ActiveWindow.View.GotoSlide newPowerPoint.ActivePresentation.Slides.count
Set activeSlide = newPowerPoint.ActivePresentation.Slides(newPowerPoint.ActivePresentation.Slides.count)
ActiveSheet.Range("d51:d57").Copy
activeSlide.Shapes.PasteSpecial ppPasteEnhancedMetafile
newPowerPoint.ActiveWindow.Selection.ShapeRange.Top = 165
newPowerPoint.ActiveWindow.Selection.ShapeRange.Left = 395
AppActivate ("Microsoft PowerPoint")
Set activeSlide = Nothing
Set newPowerPoint = Nothing
End Sub
答案 0 :(得分:0)
PowerPoint对象模型中似乎没有相应的方法。唯一的方法是调用功能区按钮:
ActiveSheet.Range("d51:d57").Copy
newPowerPoint.CommandBars.ExecuteMso("PasteExcelTableSourceFormatting")
BTW:要查找功能区按钮列表,请搜索" Office 2010控制ID"。