使用目的地主题&嵌入工作簿(h)

时间:2013-07-11 09:48:03

标签: excel vba powerpoint-2010

我正在尝试复制在工作簿工作表中创建的ChartObject并将其粘贴到powerpoint 2010幻灯片中,这样它就成为带有数据(嵌入式)的独立Excel图表。

当我手动操作时,即:

  1. 复制WorkSheet中的ChartObject
  2. 转到Powerpoint幻灯片
  3. 点击PasteSpecial&选择"使用目的地主题&嵌入练习册(H)"。
  4. 右键单击Powerpoint中的ChartObject&点击"编辑数据"。
  5. 然后我得到一个新的独立工作簿,其标题为“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
    

1 个答案:

答案 0 :(得分:0)

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

Application.CommandBars.ExecuteMso("PasteExcelChartDestinationTheme")

BTW:要查找功能区按钮列表,请搜索“Office 2010控制ID”。