PowerPoint中的VBA可以实现很多复杂的交互,其强大的编程能力让课件的制作简单快捷。制作出来的PPT课件具有交互性和灵活性,并且使课程教学富有生动性和趣味性。本文简要介绍一些基础知识: *** VBA是什么? 直到90年代早期,使应用程序自动化还是充满挑战性的领域.对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言.例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等.微软决定让它开发出来的应用程序共享一种通用的自动化语言----VisualBasic 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(FileName:="E:\图片\001.jpg", LinkToFile:=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属性:为幻灯片母版返回TextStyles 集合,代表标题文本、正文文本和默认文本。
6.Slide对象
该对象代表幻灯片。
(1)SlideID属性:返回幻灯片的唯一标识符。
(2)SlideIndex属性:返回幻灯片在Slides集合中的索引号。
7.SlideShowView对象
该对象代表幻灯片放映窗口中的视图。
(1)AcceleratorsEnabled属性:用于设置是否允许在幻灯片放映时使用快捷键。
(2)CurrentShowPosition属性:返回当前幻灯片在放映中的位置。
(3)DrawLine方法:在指定幻灯片放映视图中绘制直线。
(4)EraseDrawing方法:用于清除通过DrawLine方法或绘图笔工具在放映中绘制的直线。
(5)GotoSlide方法:用于切换指定幻灯片。
想做专业级的PPT课件,想在大赛中获奖,建议学习VBA、Flash实现交互的多功能,学习PHOTOSHOP练习美功,学习VC调用系统功能,学习SQL、ASP实现远程教育课件。可以参考以下文章:1 PPT设计及其他,2用VBA实现课件中的智能交互。 |