开启左侧

用VB代码实现PPT课件的交互功能

[复制链接]
etthink 发表于 2008-11-28 19:07:30 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
本文介绍如何使用 Microsoft Visual Basic 使 Microsoft PowerPoint 在 Microsoft Office2003、Microsoft Office XP Developer 和 Microsoft Office 2000 Developer中自动运行。
    通过使用 PowerPoint 中的自动运行功能,您可以以编程方式打印、显示幻灯片及执行以交互式执行的大多数事情。按照以下步骤构建并运行一个 Visual Basic 自动运行示例:

  • 创建一个新的标准 EXE 项目。Form1 是默认创建的窗体。
  • 向默认的窗体添加一个 CommandButton。
  • 项目菜单上,单击引用,添加 Microsoft PowerPoint 8.0 对象库Microsoft Office 8.0 对象库。对于 Office 2000,类型库的版本是 9.0。对于 Office 2002,类型库的版本是 10.0。对于 Microsoft Office 2003,类型库的版本是 11.0。
  • 将以下代码添加到您的窗体代码窗口中:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Command1_Click()
    ' Start PowerPoint.
    Dim ppApp As PowerPoint.Application
    Set ppApp = CreateObject("Powerpoint.Application")

    ' Make it visible.
    ppApp.Visible = True

    ' Add a new presentation.
    Dim ppPres As PowerPoint.Presentation
    Set ppPres = ppApp.Presentations.Add(msoTrue)

    ' Add a new slide.
    Dim ppSlide1 As PowerPoint.Slide
    Set ppSlide1 = ppPres.Slides.Add(1, ppLayoutText)

    ' Add some text.
    ppSlide1.Shapes(1).TextFrame.TextRange.Text = "My first slide"
    ppSlide1.Shapes(2).TextFrame.TextRange.Text = "Automating Powerpoint is easy" & vbCr & "Using Visual Basic is fun!"

    ' Add another slide, with a chart.
    Dim ppSlide2 As PowerPoint.Slide
    Set ppSlide2 = ppPres.Slides.Add(2, ppLayoutTextAndChart)
   
    ' Add some text.
    ppSlide2.Shapes(1).TextFrame.TextRange.Text = "Slide 2's topic"
    ppSlide2.Shapes(2).TextFrame.TextRange.Text = "You can create and use charts in your Powerpoint slides!"

    ' Add a chart in the same location as the old one.
    Dim cTop As Double
    Dim cWidth As Double
    Dim cHeight As Double
    Dim cLeft As Double
    With ppSlide2.Shapes(3)
        cTop = .Top
        cWidth = .Width
        cHeight = .Height
        cLeft = .Left
        .Delete
    End With
    ppSlide2.Shapes.AddOLEObject cLeft, cTop, cWidth, cHeight, "MSGraph.Chart"

    ' Add another slide, with an organization chart.
    Dim ppSlide3 As PowerPoint.Slide
    Set ppSlide3 = ppPres.Slides.Add(3, ppLayoutOrgchart)

    ' Add some text.

    ppSlide3.Shapes(1).TextFrame.TextRange.Text = "The rest is only limited by your Imagination"

    ' Add an Org Chart in the same location as the old one.
    With ppSlide3.Shapes(2)
        cTop = .Top
        cWidth = .Width
        cHeight = .Height
        cLeft = .Left
        .Delete
    End With
    ppSlide3.Shapes.AddOLEObject cLeft, cTop, cWidth, cHeight, "OrgPlusWOPX.4" 'OrgPlusWOPX.4
    ' is an object of the application Microsoft Organization Chart


    ' Setup slide show properties.
    With ppPres.Slides.Range.SlideShowTransition
        .EntryEffect = ppEffectRandom
        .AdvanceOnTime = msoTrue
        .AdvanceTime = 5 ' 5 seconds per slide
    End With

    ' Prepare and run the slide show.
    With ppPres.SlideShowSettings
        .ShowType = ppShowTypeKiosk
        .LoopUntilStopped = msoTrue

        .RangeType = ppShowAll
        .AdvanceMode = ppSlideShowUseSlideTimings
        .Run
    End With

    ' Sleep so user can watch the show.
    Sleep (15000)

    ' Clean up.
    ppApp.Quit

End Sub
                                       
运行该项目。
学教育技术,上教育技术论坛!http://www.etthink.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


11关注

462粉丝

7905帖子

会员达人更多+
  • etthink

    主题:7905 积分:191398
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  应用思考-教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )