加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

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

(2009-12-06 10:39:32)
标签:

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(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方法:用于切换指定幻灯片。 

例如:切换到第n张幻灯片

ActivePresentation.SlideShowWindow.View.GotoSlide n

 

    想做专业级的PPT课件,想在大赛中获奖,建议学习VBA、Flash实现交互的多功能,学习PHOTOSHOP练习美功,学习VC调用系统功能,学习SQL、ASP实现远程教育课件。可以参考以下文章:1 PPT设计及其他,2用VBA实现课件中的智能交互

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有