excel用vba制作记录单(利用VBA以Excel工作表数据为基础数据制作幻灯片)
excel用vba制作记录单(利用VBA以Excel工作表数据为基础数据制作幻灯片)Public Sub 制作幻灯片()完整实现代码如下: 准备工作:已经整理好的Excel表格数据文件,新建的空白PPT文档,截图如下:程序执行完成后的结果截图如下:程序代码实现的功能:以名为“表格基础数据”的Excel文件里Sheet1工作表里的数据为基础,把表格里的数据复制到PPT文件里,共有10行数据,因此将会新建10个幻灯片,并已表格里B列数据为幻灯片标题,以A C D列数据为幻灯片的正文内容,然后把数据复制到幻灯片的指定位置。
利用VBA以Excel工作表数据为基础数据制作幻灯片
在日常工作中,我们可能也会遇到这样情况,手边已经有整理好的Excel文件,创建PPT幻灯片需要用到Excel文件里的表格数据。常规操作方法是 在Excel文件和PPT文件之间来回复制、粘贴。如果数据总量不多,这种常规操作还能正常进行,倘若数据有成千上万条,我们还要用常规方式来实现吗?答案当然是 NO!
为了高效率的完成上述任务,我们肯定要采取非常规方式,即利用VBA程序来帮我们快速完成预定目标。假如读者愿意较劲,非要人工处理大量的数据,笔者也只能默默支持您的忍受能力。
闲话少叙,书归正传,在利用VBA程序实现上述任务时,需要利用到PowerPoint.Application对象和PowerPoint.Presentation对象,这里笔者采用前期绑定的方式来编写代码。由于笔者工作环境是:Win7 64为操作系统 Office 2010套件,因此需要在VBA工程里引用 Microsoft PowerPoint 14.0 Object Library库文件。如果您的Office版本与笔者不同,请选择对应版本的库文件引用。
准备工作:已经整理好的Excel表格数据文件,新建的空白PPT文档,截图如下:
程序执行完成后的结果截图如下:
程序代码实现的功能:以名为“表格基础数据”的Excel文件里Sheet1工作表里的数据为基础,把表格里的数据复制到PPT文件里,共有10行数据,因此将会新建10个幻灯片,并已表格里B列数据为幻灯片标题,以A C D列数据为幻灯片的正文内容,然后把数据复制到幻灯片的指定位置。
完整实现代码如下:
Public Sub 制作幻灯片()
Dim ws As Worksheet
Dim pptApp As PowerPoint.Application
Dim pptPrs As PowerPoint.Presentation
Dim i As Long
Dim myppt As String
myppt = ThisWorkbook.Path & "\测试用PowerPoint幻灯片文件.pptx"
Set ws = Worksheets(1)
Set pptApp = New PowerPoint.Application
pptApp.Visible = True
Set pptPrs = pptApp.Presentations.Add
With pptPrs
For i = 1 To 10
With .Slides.Add(Index:=1 Layout:=ppLayoutText).Shapes
.Title.TextFrame.TextRange = ws.Cells(i 2).Text '添加标题
.Range(2).TextFrame.TextRange = ws.Cells(i 1 1).Text & vbCrLf & ws.Cells(i 1 3).Text & vbCrLf & ws.Cells(i 1 4).Text '添加正文
End With
Next i
.SaveAs myppt
.Close
End With
pptApp.Quit
Set ws = Nothing
Set pptPrs = Nothing
Set pptApp = Nothing
End Sub
感兴趣的读者可以关注本号,后续会有更多类似的文章发表,也可以浏览笔者其他文章,谢谢大家的支持!欢迎您提出宝贵意见!