office怎么发送ppt,office怎么设置ppt

首页 > 经验 > 作者:YD1662022-10-31 14:43:21

大家好,我们今日讲解"VBA信息获取与处理"教程中第十六个专题"将Excel信息传递给Powerpoint及文本文件"的第一节"将Excel数据信息传递给Powerpoint应用",这个专题是非常实用的知识点,希望大家能掌握利用。教程会提供配套的程序文件。

大家好,在上一个专题中,我们介绍了如何将EXCEL中的数据信息传递给word,以及如何将excel的信息与word的模板文件合并成一个文件展示给用户的方法。这些应用都是在工作中利用较多的,但代码编写起来的跨度较大,需要我们掌握的知识点较多,我尽可能地把我的代码全面地提供给读者,以便大家加以选择利用。

这讲的专题是如何将Excel信息传递给Powerpoint及文本文件,同时还要介绍将文本文件传递给EXCEL的方法,通过这个专题的学习,希望大家对跨应用的VBA利用能有更加深刻的认识。

第一节 将Excel数据信息传递给Powerpoint应用

Microsoft Office PowerPoint是指微软公司的演示文稿软件。用户可以在投影仪或者计算机上进行演示,也可以将演示文稿打印出来,制作成胶片,以便应用到更广泛的领域中。利用Microsoft Office PowerPoint不仅可以创建演示文稿,还可以在互联网上召开面对面会议、远程会议或在网上给观众展示演示文稿。Microsoft Office PowerPoint做出来的叫演示文稿,其格式后缀名为:ppt、pptx;或者也可以保存为:pdf、图片格式等。2010及以上版本中可保存为视频格式。演示文稿中的每一页就叫幻灯片。

这种应用在实际工作中是非常广泛的,以下会议的展示汇报都要依靠这款应用,这就需要我们把一些存放在excel中的信息导入到这款应用中。如何实现呢?我们这节就来讲解。

实现场景,我们仍是利用上一专题的数据:

office怎么发送ppt,office怎么设置ppt(1)

当我们点击运行按钮要求把上面的数据、图表导入到EXCEL中。

1 将Excel数据信息传递给Powerpoint应用的思路分析

为了实现上述的场景要求,我们可以事先保存一个ppt的模板文件,用于模板文件,当打开ppt文件后可以将指定的模板文件用于演示文稿。

然后我们开始添加幻灯片,利用的语句:.Slides.Add(1, ppLayoutTitle)或者是.Slides.Add(2, ppLayoutTextAndChart),指定添加的是题目还是文本及图表。这个时候,我们就可以按照excel中的信息添加给Powerpoint应用的各个幻灯片了。最后要关闭,清空内存。

思路是很好建立的,在书写代码的时候,还是我一贯的建议,要在理解的基础上利用,不要自己去写代码,而是修改,修正为自己需要的代码。

2 将Excel数据信息传递给Powerpoint应用的代码实现

我给出实现上述思路的代码:

Sub mynz()

Dim objPPTApp As Object

Dim objPPTPresen As Object

Dim objPPTSlide As Object

strTemp = ThisWorkbook.Path& "\016M模板.pptx"

Set objPPTApp = CreateObject("Powerpoint.Application")

'Presentations.Add method msoFALSE新演示文稿不可见;msoTrue默认值在可视窗口中创建演示文稿。

Set objPPTPresen = objPPTApp.Presentations.Add(msoTrue)

objPPTApp.Visible = True

'ApplyTemplate方法:将设计模板应用于指定的演示文稿。

objPPTPresen.ApplyTemplateFilename:=strTemp

'定义两个常数参数

Const ppLayoutTitle = 1

Const ppLayoutTextAndChart = 5

Sheets("Sheet1").Select

'添加第一张幻灯片ppLayoutTitle

Set objPPTSlide = objPPTPresen.Slides.Add(1, ppLayoutTitle)

With objPPTSlide.Shapes

'Placeholders占位符对象,代表指定幻灯片上的占位符的所有Shape对象的集合。

.Placeholders(1).TextFrame.TextRange.Text = Range("B1")

.Placeholders(2).TextFrame.TextRange.Text = "以下数据是我们团队经过大量调查得到的数据,分析如下:"

End With

'添加第二张幻灯片ppLayoutTextAndChart

Set objPPTSlide = objPPTPresen.Slides.Add(2, ppLayoutTextAndChart)

With objPPTSlide.Shapes

.Placeholders(1).TextFrame.TextRange.Text = Range("B3")

.Placeholders(2).TextFrame.TextRange.Text = "前三项:" & _

Range("B5") & "," & Range("B6") & "," & Range("B7")

End With

Sheets("Sheet1").ChartObjects(1).CopyPicture

objPPTSlide.Shapes.Paste

With objPPTSlide.Shapes(4)

.Left = objPPTSlide.Shapes(3).Left

.Top = objPPTSlide.Shapes(3).Top

'Shape.ScaleWidth(Single, MsoTriState, MsoScaleFrom) Method

'Specifies a tri-state value. msoFalse为FALSE

'MsoScaleFrom指定在缩放形状时,该形状的哪一部分将保持在原有的位置。msoScaleFromTopLeft 0 形状的左上角保持在原有的位置。

.ScaleWidth 1.2, msoFalse, msoScaleFromTopLeft

End With

objPPTSlide.Shapes(3).Delete

'添加第三张幻灯片ppLayoutTextAndChart

Set objPPTSlide = objPPTPresen.Slides.Add(3, ppLayoutTextAndChart)

With objPPTSlide.Shapes

.Placeholders(1).TextFrame.TextRange.Text = Range("B22")

.Placeholders(2).TextFrame.TextRange.Text = "前三项:" & _

Range("B24") & "," & Range("B25") & "," & Range("B26")

End With

Sheets("Sheet1").ChartObjects(2).CopyPicture

objPPTSlide.Shapes.Paste

With objPPTSlide.Shapes(4)

.Left = objPPTSlide.Shapes(3).Left

.Top = objPPTSlide.Shapes(3).Top

.ScaleWidth 1.2, msoFalse, msoScaleFromTopLeft

End With

objPPTSlide.Shapes(3).Delete

'保存文件

objPPTPresen.SaveAs Filename:=ThisWorkbook.Path& "\016PPT文件.pptx"

objPPTPresen.Close

objPPTApp.Quit

Set objPPTSlide = Nothing

Set objPPTPresen = Nothing

Set objPPTApp = Nothing

MsgBox "ok!"

End Sub

代码的部分截图:

office怎么发送ppt,office怎么设置ppt(2)

代码的讲解:

1)strTemp = ThisWorkbook.Path& "\016M模板.pptx"指定模板文件,当然也可以是模板文件的格式。

2)Set objPPTApp = CreateObject("Powerpoint.Application")后期绑定Powerpoint

3)'Presentations.Add method msoFalse新演示文稿不可见;msoTrue默认值在可视窗口中创建演示文稿。

Set objPPTPresen = objPPTApp.Presentations.Add(msoTrue)

objPPTApp.Visible = True

添加一个新的PPT文件,文稿可见。

4)'ApplyTemplate方法:将设计模板应用于指定的演示文稿。

objPPTPresen.ApplyTemplateFilename:=strTemp

将上述实现设定的模板用于打开的这个演示文件

5)Sheets("Sheet1").Select

'添加第一张幻灯片ppLayoutTitle

Set objPPTSlide = objPPTPresen.Slides.Add(1, ppLayoutTitle)

With objPPTSlide.Shapes

'Placeholders占位符对象,代表指定幻灯片上的占位符的所有Shape对象的集合。

.Placeholders(1).TextFrame.TextRange.Text = Range("B1")

.Placeholders(2).TextFrame.TextRange.Text = "以下数据是我们团队经过大量调查得到的数据,分析如下:"

End With

添加第一张幻灯片,题目是Range("B1"),南非荣是"以下数据是我们团队经过大量调查得到的数据,分析如下:"

6)Sheets("Sheet1").ChartObjects(1).CopyPicture

objPPTSlide.Shapes.Paste

向演示文稿中添加图表

7)With objPPTSlide.Shapes(4)

.Left = objPPTSlide.Shapes(3).Left

.Top = objPPTSlide.Shapes(3).Top

'Shape.ScaleWidth(Single, MsoTriState, MsoScaleFrom) Method

'Specifies a tri-state value. msoFalse为FALSE

'MsoScaleFrom指定在缩放形状时,该形状的哪一部分将保持在原有的位置。msoScaleFromTopLeft 0 形状的左上角保持在原有的位置。

.ScaleWidth 1.2, msoFalse, msoScaleFromTopLeft

End With

对于这个幻灯片中形状的设置。

3 将Excel数据信息传递给Powerpoint应用的实现效果

我们点击第一个截图的运行按钮,就会生成一个新的PPT演示文稿,打开它:

office怎么发送ppt,office怎么设置ppt(3)

office怎么发送ppt,office怎么设置ppt(4)

首页 123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.