APP下载

VB程序操作PPT的方法

2017-08-01王爱平闫会昌梁辰

辽宁高职学报 2017年6期
关键词:文本框幻灯片文稿

王爱平,闫会昌,梁辰

VB程序操作PPT的方法

王爱平,闫会昌,梁辰

(抚顺职业技术学院,辽宁抚顺113122)

为了更好地、更加灵活地使用M icrosoft Power Point演示文档,常常通过VB语言编程来操作M icrosoft Power Point演示文档。介绍了使用Visual Basic 6.0编程语言,运用ActiveX技术,用程序操作PowerPoint演示文档中的对象的方法,并给出实现的相应程序代码。

M icrosoft Power Point软件;Visual Basic 6.0软件;应用

在高职教育教学中,培养学生将不同学科的知识融会结合、综合运用是非常重要的,也是培养学生综合素质能力的重要内容。Visual Basic 6.0(简称VB6)是优秀的、应用广泛的计算机程序设计语言,它常常用于单机程序的编制工作上,是计算机软件专业课。M icrosoft Power Point演示文档(简称PPT)软件是目前广泛使用的优秀软件,它被应用于人们工作、学习和生活的很多方面,是高职学生的基础课的内容。如果能将VB6与PPT结合起来,并通过编程对PPT进行操作,不仅能增强应用程序的处理能力,也会使数据处理更加多样化。笔者在教学中对此进行了研究,并取得了一些成果,下面介绍利用VB6程序操作PPT的主要方法。

一、PPT的对象结构

ActiveX部件是一组可重复使用的程序代码和数据,由ActiveX技术的一个或一组对象组成。[1]ActiveX技术被广泛地运用于各种程序中,它提供了在应用程序中使用W indows应用程序的功能,对于PPT也是如此。因此,首先要了解PPT的对象结构。本文使用的PPT对象有Application对象、DocumentW indows对象、Presentation对象、Slide对象和Shapes对象,其基本关系如图1所示。

图1 PPT对象基本关系

其中:

●Application对象代表整个M icrosoft PowerPoint应用程序。[2]

●DocumentWindows集合成员。DocumentW indows集合包含全部打开的文档窗口。其中所包含的DocumentWindow对象代表一个文档窗口。[2]

●Presentation对象代表PowerPoint中当前打开的一个演示文稿。[2]

●Slides集合包含演示文稿中的所有Slide对象。[2]

●Slide对象代表一个幻灯片。[2]

●Shapes集合,代表文档中的所有形状;该集合代表被放置或插入到指定幻灯片、幻灯片母版、或幻灯片组的所有元素。该集合可以包含绘图、OLE对象、图片、文本对象、页眉、页脚、幻灯片编号,以及日期和时间对象,这些对象位于幻灯片或备注页中的幻灯片映像上。其中的Shape对象代表绘图层中的对象,代表文档中的单个形状。例如自选图形、任意多边形、OLE对象或图片。如果要同时使用多个形状或集合中的形状,需要使用ShapeRange集合。ShapeRange集合,代表文档中指定的部分形状(例如ShapeRange对象可以代表文档中的第一个和第四个形状,或代表文档中所有选定的形状)。[2]

在编写VB程序时,首先要声明这些对象的变量,然后,按这些对象的结构层次使用所声明的变量。

二、在VB中引用的相关部件

运用VB程序中操作PPT对象之前,必须在工程中添加对PPT对象的引用。引用的方法是:在"工程"菜单中执行"引用"菜单功能,在打开的"引用"对话框中选中"M icrosoft PowerPiont 12.0 Object Library"和"M icrosoft Office 12.0 Object Library",然后单击"确定"按钮,完成引用。如果要使用图表对象,还必须再添加"M icrosoft Office 12.0 Graph Library"的引用。

三、操作PPT的方法

PPT中包含了丰富的对象和众多的演示效果及多多种多样的操作。如:建立PPT,打开现有的PPT,新建幻灯片,添加文字、表格、视频、音频,等等。本文以PPT中常用的、典型的对象和操作介绍利用VB程序操作PPT的方法。

1.定义对象变量

在使用PowerPoint应用程序之前,要定义相关的对象变量。然后通过对这些变量的操作来实现对PPT的操作。

Dim MyPpt As PowerPoint.Application'定义PowerPoint应用程序对象变量。

Dim M yPpr As PowerPoint.Presentation'定义PPT中演示文稿对象变量。

Dim MySlide As PowerPoint.Slide'定义PPT中演示文稿中幻灯片对象变量。

2.创建PPT并创建一张新幻灯片

在VB程序中创建PPT需要使用Presentations中的Add方法,其功能是创建一个演示文稿。

其格式:

expression.Add(W ithW indow)

其中:expression必选。该表达式返回一个Presentations集合。

W ithW indow可选,MsoTriState类型,M soTriState可以是下列M soTriState常数之一。

msoFalse新演示文稿不显示。

msoTrue默认值。在可视窗口中创建演示文稿。

如果在PPT中创建一张新幻灯片,则需要使用Slides的Add方法。Slides的Add方法的功能是创建一张新的幻灯片,并添加到指定的幻灯片集合。

其格式:expression.Add(Index,Layout)。其中,expression必选。该表达式返回一个Slides集合。

Index必选,Long类型,新幻灯片在Slides集合中的索引号。此值不能超过现有幻灯片数+1。如果设为1,新幻灯片将成为演示文稿的第一张幻灯片。

Layout必选。要创建的幻灯片类型。幻灯片类型共有29种,如:

ppLayoutTitle标题幻灯片

ppLayoutTitleOnly仅标题

ppLayoutTwoColumnText标题的两栏文本

例如创建一个PPT,并在其中创建第1张幻灯片:

Set M yPpt=CreateObject("PowerPoint.Application")

Set M yPpr=My Ppt.Presentations.Add(msoTrue)

创建一张新幻灯片:

Set MySlide=My Ppr.Slides.Add(1, ppLayoutChartAndText)'

MyPpt.Visible=msoTrue'新建的幻灯片可见

3.打开PPT

如果要编辑一个现存的PPT,首先要打开它。使用Presentations对象集合中的Open方法,可以打开一个指定的PPT。Open方法的格式[3]:

Open(FileName,ReadOnly,Untitled,W ithWindow, OpenConflictDocument)

其中:FileName必选,String类型,要打开的文件的名称。ReadOnly可选,M soTriState类型,指定以可读写或只读状态打开演示文稿。Untitled可选,M soTriState类型,指定文件是否有标题。W ithW indow可选,M soTriState类型,指定文件是否可见。

例如:打开一个指定的PPT。在程序窗口中添加一个CommonDialog控件,名称为CommonDialog1。

CommonDialog1.FileName=""

CommonDialog1.Filter="演示文稿(*.ppt)|*.pp*"

CommonDialog1.ShowOpen

Set MyPpt=New PowerPoint.Application

M yPpt.Visible=msoTrue

Set MyPpr=M y Ppt.Presentations.Open (CommonDialog1.FileName)

4.导入文字

在PPT中,可以在占位符中显示文字。在占位符中显示文字要先选择指定的占位符,然后利用TextFrame中的TextRange属性完成导入文字、设置文字格式等操作。[4]

例如:向在第3张幻灯片中的第2个占位符导入一行文字,并设置成红色斜体字。

Ppr.Slides(3).Shapes(2).TextFrame.TextRange="这是VB程序导入的文字!"

Ppr.Slides(3).Shapes(2).TextFrame.TextRange.Font.Color =RGB(255,0,0)

Ppr.Slides(3).Shapes(2).TextFrame.TextRange.Font.Italic =msoTrue

在PPT中,也可以先添加文本框,然后在其中显示文字。添加文本框的方法是:

AddTextbox(Orientation,Left,Top,W idth,Height)

其中:

Orientation为文本的显示方式:

msoTextOrientationHorizontal横向显示。

msoTextOrientationVerticalFarEast纵向显示。

Left:文本框的左边框与幻灯片左边框的距离。

Top:文本框的上边框与幻灯片上边框的距离。

W idth:文本框的宽度。

Height:文本框的高度。

例如,在第4张幻灯片中新建一个文本框,导入文字并设置文字的格式。

M yPpr.Slides(4).Select

Set myDoc=M y Ppr.Slides(4)

Dim Pshape As PowerPoint.Shape

Set Pshape=myDoc.Shapes.AddTextbox (msoTextOrientationHorizontal,_

Left:=100,Top:=100,W idth:=200,Height:=50)

Pshape.TextFrame.TextRange.Text="这是一个文本框"

W ith Pshape.TextFrame.TextRange.Font

.Color.RGB=RGB(0,255,255)

.Bold=msoTrue

.Name="隶书"

.Size=14

End W ith

5.插入视频文件

在制作PPT的过程中,人们常常使用视频文件来丰富展示的内容。PPT支持人们日常使用的绝大部分视频格式,如.avi、.mov、.mp4、.wmv、.mpeg等。在PPT中插入视频的方法是:

AddMediaObject(FileName,Left,Top,W idth,Height)

其中:

FileName:视频文件名。

Left、Top、W idth、Height同上。

例如,在第2张幻灯片中添加一个视频文件。在程序窗口中添加一个CommonDialog控件,名称为CommonDialog1。

CommonDialog1.FileName=""

CommonDialog1.Filter="视频文件(*.avi)|*.avi|*. wmv*.*"

CommonDialog1.ShowOpen MyPpr.Slides(2).Select

Set myDoc=Ppr.Slides(2)

myDoc.Shapes.AddMediaObject FileName:= CommonDialog1.FileName,_

Left:=80,Top:=80,W idth:=400,Height:=400

6.添加图片

在PPT中加入图片可以使演示文档图文并茂,丰富多彩。添加图片的方法是:

AddPicture(FileName,LinkToFile,SaveW ithDocument, Left,Top,W idth,Height)

其中:

FileName必选,String类型,创建OLE对象所依据的文件。

LinkToFile必选,确定是否将图片链接到创建该图片所依据的文件。

SaveW ithDocument必选,确定是否将已链接的图片与其插入到的文档一起保存。如果LinkToFile为msoFalse,则此参数必须为msoTrue。

Left、Top、W idth、Height同上。

例如,在第4张幻灯片中添加一张图片。

在程序窗口中添加一个CommonDialog控件,名称为CommonDialog1。

CommonDialog1.FileName=""

CommonDialog1.Filter="图片文件(*.jpg)|*.jpg|*. bmp|*.*"

CommonDialog1.ShowOpen MyPpr.Slides(4).Select

Set myDoc=Ppr.Slides(4)

myDoc.Shapes.AddPicture FileName:=CommonDialog1. FileName,LinkToFile:=msoTrue,_

SaveW ithDocument:=msoTrue,Left:=200,Top:=200,W idth:=170,Height:=170

7.插入表格

在PPT中插入表格的方法是:

AddTable(NumRows,NumColumns,Left,Top,W idth, Height)

其中:

NumRows必选。表格中的行数

NumColumns必选。表格中的列数

Left,Top,W idth,Height同上。

例如:在第5张幻灯片中插入一个3行4列的表格。MyPpr.Slides(5).Select

Set mytable=M yPpr.Slides(5).Shapes.AddTable(3,4, 100,100,240,260)

8.填充

在PPT中可以通过对占位符、形状或文本框等的填充可以美化界面,突出重点,强调要点。完成填充工作需要使用PresetGradient方法。其格式是:

PresetGradient(Style,Variant,PresetGradientType)

其中:

Style必选。有8个过渡样式,即填充方向。

Variant必选,是过渡变量,可以是从1到4值。对应于“填充效果”对话框中“过渡”选项卡上的4个变量,如果“样式”是msoGradientFrom Title或msoGradientFromCenter,此参数可以是1或2。

PresetGradientType必选,预设颜色,共有25种。

例如:填充第7张幻灯片中的第1个占位符。

MyPpr.Slides(7).Shapes(1).Fill_

.PresetGradient Style:=msoGradientDiagonalUp, Variant:=1,_

PresetGradientType:=msoTextureBlueTissuePaper

'填充的效果是线性对角彩虹出岫II

9.放映PPT

利用SlideShow Settings对象可控制PPT的放映[5],如放映的类型、放映的范围、是否持续循环放映、是否有旁白、是否显示动画、如何切换幻灯片放映、绘图笔的颜色、放映窗口的位置和大小,等等。

例如,从第3张幻灯片开始全屏放映当前的PPT,直到最后一张幻灯片。

W ith MyPpr.SlideShow Settings

.Show Type=ppShow TypeSpeaker

.LoopUntilStopped=msoFalse

.ShowW ithNarration=msoTrue

.ShowW ithAnimation=msoTrue

.StartingSlide=3'''从第3张开始

.EndingSlide=MyPpr.Slides.Count'''最后一张

.RangeType=ppShow SlideRange'''按指定范围放映

.AdvanceMode=ppSlideShowUseSlideTim ings[6]

.Run

End W ith

总之,以VB程序设计语言通过编程操作M icrosoft Power Point演示文档,大大地扩展了PPT的应用范围。由于PPT功能众多,其包含的对象比较庞大,对象间的关系也比较复杂,因此,在使用这些对象时,必须搞清楚所用对象之间关系,准确地设置对象的属性,正确地使用对象的方法,才能完成指定的操作。

[1]赵连胜,马国光.Visual Basic程序设计[M].北京:中国计划出版社,2007:8.

[2]微软公司.PowerPoint VBA编程手册[A].

[3]红渔.VB中打开Office文件的一种方法[EB/OL].(2011-11 -06)[2017-02-02].http://blog.sina.com.cn/s/blog_765098210100 tp44.htm l.

[4]顾洪,熊阳.用VB程序控制PPT演示文档[J].无锡南洋学院学报,2003(4):30-34.

[5]sunnydanli.vb播放ppt[EB/OL].(2013-10-06)[2017-02-02]. https://zhidao.baidu.com/question/135066771872978925.htm l? qbl=relate_question_0 2016.11.16.

[6]我的异常网.详解vb控制ppt解决思路[EB/OL].(2014-09-06) [2017-02-02].http://www.myexception.cn/vb/111841.htm l.2013. 1.2.

[责任编辑,抚顺职院:陈辉]

The Method of Operating PPT by VB Program

WANG Ai-ping,YAN Hui-cang,LIANG Chen
(Fushun Vocational Technology Institute,Fushun 113122,China)

In order to better and more flexibly use M icrosoft Power Point presentation file,it is often operated by VB language programm ing.The paper introduces methods to operate the object in Power Point presentation file by using Visual Basic 6.0 programm ing language and Active X technology.The corresponding program code is also given.

M icrosoft Power Point software;Visual Basic 6.0 software;application

TP317.4

A

1009—7600(2017)06—0079—04

2017-06-12

抚顺市科技攻关项目(20131118)

王爱平(1962—),男,辽宁东沟人,工程师;闫会昌(1962—),男,辽宁抚顺人,副教授;梁辰(1976—),女,山东荣成人,副教授,硕士。

猜你喜欢

文本框幻灯片文稿
文稿规范
文稿规范
水幕幻灯片
本刊文稿中参考文献的要求
巧用文本框实现PPT多图片排版
PPT文本框的另类应用
实现幻灯片的缩放功能
文本框酷变3D效果
文稿打字的小方法
文本框在地理课件中的应用