使用脚本编写创建Powerpoint/Keynote演示文稿?

Rey*_*Rey 5 powerpoint vba keynote presentation powerpoint-vba

最近我一直在为公司创建PowerPoint演示文稿.我大部分都是在PowerPoint中这样做的.基本上它们是由相同的设计创建的,但只是设置位置中的不同数字,以及用于生成PowerPoint条形图/饼图图形的不同数字.(基本上插入这些饼图对象时,可以选择更改设计,并在弹出的某些Excel电子表格中输入数字).

假设我正在为100家公司做这件事:是不是只能指定我需要的所有不同值,并以某种方式创建powerpoint?我可以提供一个设计基础,它只需要进入并改变动态值(没有任何栅格).

这对于PowerPoint来说甚至都不是问题:如果我可以使用Keynote(例如,自动化饼图,条形图以及使用数字和静态文本设置场所),那么这也是有效的.

编辑:我提到我知道PowerPoint饼图/条形图是从Xxcel电子表格生成的.我的演讲中大约有3个,以及静态位置中的其他变化值,在100个左右的演示中.我希望编写所有或大部分过程的脚本.

编辑:使用PowerPoint 2007或最新版本的Keynote.使用Keynote编写脚本的首选方法可能是AppleScript,使用PowerPoint 2007,Python/Django或宏.

Tod*_*ain 2

抱歉,我需要几天时间才能回复您,需要解决一个问题。这是一种快速有效的方法来完成您的要求。

  1. 创建启用宏的 PowerPoint。
  2. 通过功能区中的“插入|图表”命令在第一张幻灯片上创建单个饼图。Excel 将打开。在列中,水平(类别)轴保持原样(即第一个季度、第二个季度等)。在图例条目(系列)轴上,展开几列并添加更多数据。确保列名称是唯一的。
  3. 关闭 Excel
  4. 按 Alt+F11 转到 VBE。
  5. 将下面的代码复制/粘贴到新模块中,更改以下变量:chartTemplatePath以及(如果需要)sc.Name, 更改为您选择的其他内容。
  6. 在子程序中点击F5运行。您现在应该拥有与柱一样多的图表幻灯片。

Sub CreateChartDecksandSave()
    Dim chartTemplatePath As String
    chartTemplatePath = "C:\Temp\"

    Dim myPPT As Presentation
    Set myPPT = ActivePresentation

    Dim mainChart As Chart
    Set mainChart = myPPT.Slides(1).Shapes(1).Chart

    Dim scCount As Integer
    scCount = mainChart.SeriesCollection.Count

    Dim sc As Series

    For i = 1 To scCount
        Set sc = mainChart.SeriesCollection(1)
        myPPT.SaveCopyAs (chartTemplatePath & sc.Name & ".pptx")
        sc.Delete
    Next
End Sub
Run Code Online (Sandbox Code Playgroud)

如果您正在使用此工具并且图表数据从主 PPT 中消失,没关系,只需选择图表,转到“图表工具”|“图表工具”|“图表工具”设计| 选择数据并重新选择数据集作为整个表。