使用目标主题和embedded工作簿(h)

我正在尝试复制在工作簿工作表中创build的ChartObject,并将其粘贴到Powerpoint 2010幻灯片中,以使其成为具有数据(embedded式)的独立Excel图表。

当我手动做,即:

  1. 在WorkSheet中复制ChartObject
  2. 转到Powerpoint幻灯片
  3. 点击PasteSpecial并select“使用目标主题和embedded工作簿(H)”。
  4. 在Powerpoint中右键单击ChartObject并单击“编辑数据”。

然后我得到一个新的标题“图表在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 

PowerPoint对象模型中似乎没有相应的方法。唯一的方法是调用function区button本身:

 Application.CommandBars.ExecuteMso("PasteExcelChartDestinationTheme") 

顺便说一句:要查找function区button的列表,search“Office 2010控件ID”。