Excel 数据导入 PowerPoint 幻灯片

Excel 数据导入 PowerPoint 幻灯片

我已经找到了一些有用的网站,但我仍然无法做我想做的事情。我的 Excel 文件包含几列和多行。一行中的所有数据都位于一张幻灯片中,但该行中不同单元格的数据应转到 PP 幻灯片中的特定元素。首先,是否可以将 Excel 单元格中的数据导出到 PP 中的特定文本框中?例如,我想将每行第一列的所有数据都转到文本框 1。假设我有 100 行,那么我就会有 100 张幻灯片,每张幻灯片都有带有正确数据的文本框 1。幻灯片 66 的文本框将包含第 66 行第一列的数据。然后,每行第二列的所有数据将转到文本框 2,依此类推。

我尝试过一些宏,但效果并不理想。我还尝试过使用 Word 大纲并将其导出到 PP(新幻灯片 -> 从大纲导出幻灯片),但似乎存在错误,因为我得到了 250 页的乱码。我只有两个段落,而且都只有一个单词。第一段使用标题 1 样式,第二段使用普通样式。

我发现的网站使用 VB 和/或其他编程语言从 Excel 表创建幻灯片。我曾尝试将这些 VB 代码添加到我的宏中,但到目前为止它们都没有起作用。可能我只是不知道如何正确使用它们 :) 以下是一些有用的网站:

VBA:为 Excel 工作簿中的每一行创建 PowerPoint 幻灯片

根据数据创建演示报告

Stackoverflow 中的问题

我在 Mac 上使用 Office 2011。如能得到任何帮助我将不胜感激!

答案1

尝试类似这样的方法。我做了一些修改,以便它用工作表中的值替换幻灯片上文本 @COL1@ 的任何实例。请注意,未经测试的航空代码。

Sub CreateSlides()
'Open the Excel workbook. Change the filename here.
Dim OWB As New Excel.Workbook
Set OWB = Excel.Application.Workbooks.Open("C:\list.xlsx")
'Grab the first Worksheet in the Workbook
Dim WS As Excel.Worksheet
Dim sCurrentText As String
Dim oSl As Slide
Dim oSh As Shape
Set WS = OWB.Worksheets(1)
Dim i As Long
'Loop through each used row in Column A
For i = 1 To WS.Range("A65536").End(xlUp).Row
    'Copy the first slide and paste at the end of the presentation
    ActivePresentation.Slides(1).Copy
    Set oSl = ActivePresentation.Slides.Paste(ActivePresentation.Slides.Count + 1)
    sCurrentText = WS.Cells(i, 1).Value

    ' find each shape with "@COL1@" in text, replace it with value from worksheet
    For Each oSh In oSl.Shapes
      ' Make sure the shape can hold text and if is, that it IS holding text
      If oSh.HasTextFrame Then
        If oSh.TextFrame.HasText Then
          ' it's got text, do the replace
          With oSh.TextFrame.TextRange
            .Replace "@COL1@", sCurrentText
          End With
        End If
      End If
    Next
Next
End Sub

答案2

PowerPoint 插件Excel 导入可以将 Excel 数据导入 PowerPoint

它能做什么

  • 将 Excel 数据导入到打开的演示文稿中
    方法:每张 PowerPoint 幻灯片一个 Excel 行,当前幻灯片上每个文本字段一个单元格
  • 如果有多个 Excel 工作表,可以选择从中获取数据
  • 如果 Excel 文件的行数多于 Powerpoint 中的幻灯片数,则可以自动添加幻灯片
  • 如果没有足够的文本字段(形状)来包含一行中的所有数据,则会发出警告
  • 适用于每个 Microsoft Office 版本

如何使用

  • 下载加入
  • 将其保存在您的 Micorsoft Office Add-In 文件夹中
    提示:按Win+R并输入%应用程序数据%\漫游\微软\插件
  • 打开 PowerPoint 并启用加载项
    • Excel 2003:菜单栏 → 工具 → 加载项
    • Excel 2007:开始按钮 → Excel 选项 → 加载项 → 下拉菜单:Excel 加载项 → 转到
    • Excel 2010:文件选项卡 → 选项 → 加载项 → 下拉菜单:Excel 加载项 → 转到
  • 将会弹出一个新的菜单栏条目
    在此处输入图片描述
  • 新的导入 Excel 数据按钮将弹出一个文件对话框来选择您的 Excel 文件。
    如果您有足够的文本字段,则插件将填充它们

观看此短片imgur 相册说明插件


笔记: 如果要自定义代码,你必须添加注册表项查看 Add-In 代码。
源代码可以在 pastebin 上查看

答案3

PPTools 不适用于 64 位系统,而 64 位系统现在是标准。

PowerPoint 将打开 Word 文档。而 Word 将打开 HTML。

  1. 在 Excel 中,在左侧插入一列。
  2. 将 HTML 标签 <h1> 放置在该列的每个单元格中。
  3. 在最右侧的一列中,每个单元格中都放置 html 标签 </h1>。
  4. 将整个工作表复制/粘贴到记事本中。
  5. 在顶部添加以下标签:<html><body>
  6. 在底部添加以下标签:</body></html>
  7. 搜索/替换所有标签为空,以便摆脱它们。
  8. 将其保存为 something.html。现在关闭它。
  9. 在 Word 中打开它。
  10. 另存为 something.docx
  11. 现在将其关闭。
  12. 在 PowerPoint 中打开 something.docx(选择“所有文件”而不是“*.pptx”)。
  13. PowerPoint 现在应该导入全部内容,每行作为一张幻灯片。

相关内容