我正在尝试复制在工作簿工作表中创建的ChartObject并将其粘贴到powerpoint 2010幻灯片中,这样它就成为带有数据(嵌入式)的独立Excel图表。
当我手动操作时,即:
然后我得到一个新的独立工作簿,其标题为“Microsoft Excel"中的图表”,显示图表和数据。我无法复制这个场景,我得到一个新的独立工作簿,标题为"图表在Microsoft Excel"使用Excel VBA。有人可以帮忙吗?
假设工作表上有一个简单的柱形图,这里是代码:
Option Explicit
Sub doit()
Dim Temp As Workbook
Dim Rng As Range
Dim ChtObj As ChartObject
With ThisWorkbook.Sheets(1)
Set ChtObj = .ChartObjects(1)
With ChtObj
.Copy
End With
Dim ppapp As Object
Dim pppres As Object
Dim ppslide As Object
On Error Resume Next
Set ppapp = GetObject(, "Powerpoint.Application")
If ppapp Is Nothing Then
Set ppapp = CreateObject("Powerpoint.Application")
End If
On Error GoTo 0
Set pppres = ppapp.presentations.Add
Set ppslide = pppres.Slides.Add(1, 12)
With ppapp
.Activate
.Visible = msoTrue
.ActiveWindow.viewtype = 1
End With
ChtObj.Copy
ppapp.ActiveWindow.View.Paste
End With
End Sub
答案 0 :(得分:0)
PowerPoint对象模型中似乎没有相应的方法。唯一的方法是调用功能区按钮本身:
Application.CommandBars.ExecuteMso("PasteExcelChartDestinationTheme")
BTW:要查找功能区按钮列表,请搜索“Office 2010控制ID”。