我已经找到了一些有用的网站,但我仍然无法做我想做的事情。我的 Excel 文件包含几列和多行。一行中的所有数据都位于一张幻灯片中,但该行中不同单元格的数据应转到 PP 幻灯片中的特定元素。首先,是否可以将 Excel 单元格中的数据导出到 PP 中的特定文本框中?例如,我想将每行第一列的所有数据都转到文本框 1。假设我有 100 行,那么我就会有 100 张幻灯片,每张幻灯片都有带有正确数据的文本框 1。幻灯片 66 的文本框将包含第 66 行第一列的数据。然后,每行第二列的所有数据将转到文本框 2,依此类推。
我尝试过一些宏,但效果并不理想。我还尝试过使用 Word 大纲并将其导出到 PP(新幻灯片 -> 从大纲导出幻灯片),但似乎存在错误,因为我得到了 250 页的乱码。我只有两个段落,而且都只有一个单词。第一段使用标题 1 样式,第二段使用普通样式。
我发现的网站使用 VB 和/或其他编程语言从 Excel 表创建幻灯片。我曾尝试将这些 VB 代码添加到我的宏中,但到目前为止它们都没有起作用。可能我只是不知道如何正确使用它们 :) 以下是一些有用的网站:
VBA:为 Excel 工作簿中的每一行创建 PowerPoint 幻灯片
我在 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。
- 在 Excel 中,在左侧插入一列。
- 将 HTML 标签 <h1> 放置在该列的每个单元格中。
- 在最右侧的一列中,每个单元格中都放置 html 标签 </h1>。
- 将整个工作表复制/粘贴到记事本中。
- 在顶部添加以下标签:<html><body>
- 在底部添加以下标签:</body></html>
- 搜索/替换所有标签为空,以便摆脱它们。
- 将其保存为 something.html。现在关闭它。
- 在 Word 中打开它。
- 另存为 something.docx
- 现在将其关闭。
- 在 PowerPoint 中打开 something.docx(选择“所有文件”而不是“*.pptx”)。
- PowerPoint 现在应该导入全部内容,每行作为一张幻灯片。