5

最近我一直在为公司制作 PowerPoint 演示文稿。我主要是在 PowerPoint 中执行此操作。基本上它们是由相同的设计创建的,但只是在设置的地方有不同的数字,以及用于生成 PowerPoint 条形图/饼图的不同数字。(插入时基本上有这些饼图对象,让您可以选择更改设计,并在弹出的一些excel电子表格中输入数字)。

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

对于 PowerPoint 来说,这甚至不是一个问题:如果我可以使用 Keynote 来做到这一点(例如,自动化饼图、条形图以及使用数字和静态文本设置位置),那么它也可以。

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

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

4

1 回答 1

2

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

  1. 创建启用宏的 PowerPoint。
  2. 通过功能区中的插入|图表命令在第一张幻灯片上创建单个饼图。Excel 将打开。在列中,在水平(类别)轴上保持原样(即第 1 季度、第 2 季度等)。在Legend Entries (Series) A​​xis上,展开几列并添加更多数据。确保列名是唯一的。
  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

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

于 2010-01-11T00:09:20.163 回答