在PowerPoint中使用VBA制作课件实现高级交互功能

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在PowerPoint中使用VBA制作课件实现高级交互功能
PowerPoint中的VBA可以实现很多复杂的交互,其强大的编程能力让课件的制作简单快捷。

制作出来的PPT课件具有交互性和灵活性,并且使课程教学富有生动性和趣味性。

本文简要介绍一些基础知识:
*** VBA是什么?
直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言----Visual Basic For Application(VBA),可以认为VBA 是非常流行的应用程序开发语言VISUAL BASIC 的子集.实际上VBA是寄生于VB应用程序的版本.
*** VBA如何用?
一、宏
在PowerPoint中,我们可以通过录制宏,来帮助我们自动完成一系列操作。

1、执行“工具→宏→录制新宏”命令,打开“录制新宏”对话框,输入一个名称,按下“确定”按钮进行录制。

2、根据你的需要,将要录制的过程操作一遍,然后按下“停止录制”按钮,退出录制状态。

3、执行“工具→宏→宏”命令,打开“宏”对话框,双击其中的宏,即可运行该宏。

现在我们就来具体演示并录制一个“宏”,首先按照上面的描述进入到录制状态,然后点击“插入”—“图片”—“来自文件”命令,然后选择一个图形文件,将这个文件插入到Powerpoint的文稿中,接着选择这个插入的图片,将当前这个图片移动到某个位置,如果觉得
图片放置的位置不合适,我们可以多次调整这张图片的位置和大小,直到你认为这个图片达到最合适的位置和大小,最后当你点击“停止录制”按钮了。

之后点击键盘“ALT+F11”,就可以进入到VBE即VB 编辑器中,双击左侧的模块名或“查看代码”工具打开代码窗口。

以下就是我录制的“宏”程序代码,在这里可以看到有很多无用的代码,这些代码是我在调整图片位置时记录下来的,因此我们可以删除这些不需要的代码,并直接将位移量及尺寸大小的数赋给相应的代码中,这样做可以大大提高该“宏”的运行速度。

Sub Macro1()
'
' 宏由 xyz 记录,日期: 2009-12-6
'
ActiveWindow.Selection.SlideRange.Shapes.AddPicture(File Name:="E:\图片\001.jpg", LinkT oFile:=msoFalse, SaveWithDocument:=msoTrue, Left:=-23, Top:=-17, Width:=768, Height:=576).Select
With ActiveWindow.Selection.ShapeRange
.IncrementLeft -166#
.IncrementTop 83.88
End With
With ActiveWindow.Selection.ShapeRange
.IncrementLeft 190#
.IncrementTop 68#
End With
End Sub
为了防止宏病毒,Powerpoint提供了安全选项(该命令也是所有OFFICE组件的通用命令,如果在Powerpoint中修改了这里的设置,那么也会影响到其它OFFICE组件程序的“宏”设置。

),这就是:“安全性”,好我们点击菜单“工具”—“宏”—“安全性”,会弹
出一个“安全性”对话框,一般选择“中”安全级就可以了。

我们还可以在“VBE”中插入一个或多个“窗体”,方法是点击:菜单“插入”—“用户窗体”,之后在“窗体”窗口中放置一些控件,如“按钮”、“列表”、“单选框”、“复选框”等ActiveX控件,然后我们双击这些控件就可以编写这些控件的程序代码了。

二、VBA
1.显示控件工具箱
在PowerPoint中选择菜单“视图/工具栏/控件工具箱”。

2.控件工具箱中常用按钮的介绍
(1)复选框(CheckBox):可以选择多个选项,常用来设计多选题;
(2)文本框(TextBox):可以输入文本,常用来设计填空题;
(3)命令按钮(CommandButton):用来确定选择或输入,也可设计超级链接;
(4)单选框(OptionButton):只能选中一个选项,常用来设计单选题或判断题;
(5)标签(Label):用来显示文字信息。

3.插入控件的方法
单击控件工具箱上的工具按钮,然后在幻灯片中拖动到适当大小即可。

4.进入VBA的方法
双击幻灯片中的控件或用菜单命令“工具/宏/Visual basic编辑器”即可进入VBA编程状态。

5.控件的主要属性及设置方法
进入VBA后,需要在“属性”窗口中对控件的属性进行设置。

如果没有出现“属性”窗口,按F4键即可调出该窗口。

下面我们就不同的控件,来说明常用属性的设置方法。

(1)复选框
AutoSize:有两个值,True表示根据字的多少调整复选框的大小,
False表示复选框为固定大小;BackColor:设置复选框的背景颜色,单击该属性框出现下拉按钮,选择“调色板”选项卡后选择颜色;Caption:控件的名称,把默认值删除再重新输入新名称;Font:设置字体、字号及字形,单击该属性框出现按钮,单击该按钮出现字体对话框,再在对话框中设置;Forecolor:设置字的颜色,设置方法同BackColor;Height:复选框的高度,直接输入数字即可;Width:复选框的宽度,直接输入数字即可;Value:复选框的值,True为选中,False则相反。

(2)文本框
AutoSize、BackColor、Font、ForeColor、Height、Width等属性的设置方法同复选框;Value:文本框的值,用来保存输入的文本;TextAlign:设置文本对齐方式。

(3)单选框
属性设置同复选框。

(4)标签
除Value外,其他同复选框。

(5)命令按钮
同标签。

6.消息框MsgBox的功能
我们常用消息框显示一些交互的信息,消息框用下面的语句可实现:Msgbox("这是一个例题",VbYesNo,"示例")
示例1:用VBA实现文字随意拖
1.在PPT中新建空幻灯片。

2.选择"视图→工具栏→控件工具箱"菜单,打开控件工具箱。

3.点击控件工具栏的"标签"控件,在空幻灯片中拖出标签对象Label1。

然后点击控件工具栏的"属性"按钮,打开属性栏,设置Label1的Caption、Font、ForeColor、BackStyle等属性。

4. 添加代码
双击Label,或选择"工具→宏→Visual basic编辑器"菜单,打开
VBA,选择Label1对象,再选择对应的MouseDown、MouseMove 和MouseUp事件,加入以下代码:
Dim X1, Y1 As Integer, Down As Boolean '设置全局变量,X1、Y1等为Label1等对象的初始坐标值
Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) If Not Down Then
X1 = X
Y1 = Y
Down = True
End If
End Sub
Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) '如果鼠标已按下,设置Label1新的坐标值
If Down Then
Label1.Left = Label1.Left + X - X1
Label1.Top = Label1.Top + Y - Y1
X1 = X
Y1 = Y
End If
End Sub
Private Sub Label1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Down = False
SlideShowWindows(1).View.First '刷新屏幕,使用PowerPoint
XP/2003时加入此句
End Sub
按F5放映幻灯片。

怎么样,幻灯片中的文字是不是可以随心所欲地拖动了?
示例2:用VBA画曲线
点击控件工具栏的"按钮"控件,添加一个按钮,双击加入以下代码:
Private Sub CommandButton1_Click()
' 绘钻石()
Dim x(50), y(50), Xc, Yc, tt, n, r, i, j
Xc = 320
Yc = 240
r = 200
n = 21
tt = 2 * 3.14159 / n
For i = 0 To n - 1
x(i) = Xc + r * Cos(i * tt)
y(i) = Yc - r * Sin(i * tt)
Next i
For i = 0 To n - 2
For j = i + 1 To n - 1
ActivePresentation.SlideShowWindow.View.DrawLine x(i), y(i), x(j), y(j)
Next j
Next i
End Sub
PowerPoint vba开发对象详解
1.Application对象
该对象代表PowerPoint应用程序,通过该对象可访问PowerPoint中的其他所有对象。

(1)Active属性:返回指定窗格是否被激活。

(2)ActivePresentation属性:返回Presentation对象,代表活动窗口中打开的演示文稿。

(3)ActiveWindow属性:返回DocumentWindow对象,代表当前文档窗口。

(4)Presentations属性:返回Presentations集合,代表所有打开的演示文稿。

(5)SlideShowWindows属性:返回 SlideShowWindows集合,代表所有打开的幻灯片放映窗口。

(6)Quit方法:用于退出PowerPoint程序。

2.DocumentWindow对象
该对象代表文档窗口。

使用“Windows(index) ”语法可返回DocumentWindow对象。

(1)ActivePane属性:返回Pane对象,代表文档窗口中的活动窗格。

(2)Panes属性:返回Panes集合,代表文档窗口中的所有窗格。

(3)ViewType属性:返回指定的文档窗口内的视图类型。

3.Presentation对象
该对象代表演示文稿,通过“Presentations(index)”语法可返回Presentation对象。

(1)BuiltInDocumentProperties属性:返回DocumentProperties集合,代表演示文稿的所有文档属性。

(2)ColorSchemes属性:返回ColorSchemes 集合,代表演示文稿的配色方案。

(3)PageSetup属性:返回PageSetup对象,用于控制演示文稿的幻灯片页面设置属性。

(4)SlideMaster属性:返回幻灯片母版对象。

(5)SlideShowSettings属性:返回SlideShowSettings对象,代表演示文稿的幻灯片放映设置。

(6)SlideShowWindow属性:返回幻灯片放映窗口对象。

(7)AddTitleMaster方法:为演示文稿添加标题母版。

(8)ApplyTemplate方法:对演示文稿应用设计模板。

4.SlideShowWindow对象
该对象代表幻灯片放映窗口。

IsFullScreen属性:用于设置是否全屏显示幻灯片放映窗口。

5.Master对象
该对象代表幻灯片母版、标题母版、讲义母版或备注母版。

TextStyles属性:为幻灯片母版返回T extStyles 集合,代表标题文本、正文文本和默认文本。

6.Slide对象
该对象代表幻灯片。

(1)SlideID属性:返回幻灯片的唯一标识符。

(2)SlideIndex属性:返回幻灯片在Slides集合中的索引号。

7.SlideShowView对象
该对象代表幻灯片放映窗口中的视图。

(1)AcceleratorsEnabled属性:用于设置是否允许在幻灯片放映时使用快捷键。

(2)CurrentShowPosition属性:返回当前幻灯片在放映中的位置。

(3)DrawLine方法:在指定幻灯片放映视图中绘制直线。

(4)EraseDrawing方法:用于清除通过DrawLine方法或绘图笔工具在放映中绘制的直线。

(5)GotoSlide方法:用于切换指定幻灯片。

例如:切换到第n张幻灯片
ActivePresentation.SlideShowWindow.View.GotoSlide n
想做专业级的PPT课件,想在大赛中获奖,建议学习VBA、Flash 实现交互的多功能,学习PHOTOSHOP练习美功,学习VC调用系统
功能,学习SQL、ASP实现远程教育课件。

可以参考以下文章:1PPT 设计及其他,2用VBA实现课件中的智能交互。

相关文档
最新文档