You are currently offline, waiting for your internet to reconnect

How To Automate PowerPoint Using Visual FoxPro

This article was previously published under Q230154
This article has been archived. It is offered "as is" and will no longer be updated.
This article demonstrates how to automate Microsoft PowerPoint using VisualFoxPro 6.0.
More information
By using automation in PowerPoint, you can programmatically print, displayslides, and do most of the things you can do interactively. Follow these steps to build and run a Visual FoxPro automation example:
  1. Start Visual FoxPro 6.0 and choose New... from the File menu.
  2. Select Project as the file type, click New file, and name the project PptTest.
  3. In the Project Manager for your project, click on Programs under the Code entry in the tree, then click the New... button.
  4. Paste the following code into the Program1 window:
     * Start PowerPoint   PptApp = CreateObject("Powerpoint.Application")	 * Add a presentation   PptPres = PptApp.Presentations.Add(1) * Add a slide	   PptSlide1 = PptPres.Slides.Add(1,2)	 * Add some text...   PptSlide1.Shapes(1).TextFrame.TextRange.Text = "My first slide"   PptSlide1.Shapes(2).TextFrame.TextRange.Text = "Automating Powerpoint is easy" + Chr(13) + "Using FoxPro is fun!"	 * Add another slide, with a chart   PptSlide2 = PptPres.Slides.Add(2,5) * Add some text   PptSlide2.Shapes(1).TextFrame.TextRange.Text = "Slide 2's topic"   PptSlide2.Shapes(1).TextFrame.TextRange.Text = "You can create and use charts in your Powerpoint slides!" * Add a chart where the old one is...   With PptSlide2.Shapes(3)      cTop = .Top      cWidth = .Width      cHeight = .Height      cLeft = .Left      .Delete   EndWith	   PptSlide2.Shapes.AddOLEObject(cLeft, cTop, cWidth, cHeight, "MSGraph.Chart") * Add another slide, with an Organization chart   PptSlide3 = PptPres.Slides.Add(3,7)	 * Add some text   PptSlide3.Shapes(1).TextFrame.TextRange.Text = "The rest is only limited by your Imagination" * Add an Org chart where old one is...   With PptSlide3.Shapes(2)      cTop = .Top      cWidth = .Width      cHeight = .Height      cLeft = .Left      .Delete   EndWith	    &&  PptSlide3.Shapes.AddOLEObject(cLeft, cTop, cWidth, cHeight, "OrgPlusWOPX.4")    &&  Uncomment the above line if you have the correct file. * Setup slide show properties...   With PptPres.Slides.Range.SlideShowTransition      .EntryEffect = 513      .AdvanceOnTime = 1      .AdvanceTime = 5   EndWith * Prepare and run slide-show!   With PptPres.SlideShowSettings      .ShowType = 3      .LoopUntilStopped = 1      .RangeType = 1      .AdvanceMode = 2      .Run   EndWith * Sleep so user can watch the show...   Wait window "Waiting for slide show to finish..." TIMEOUT 16 * Stop the slide show   PptPres.SlideShowWindow.View.Exit * Clean up   PptApp.Quit   Release PptSlide3   Release PptSlide2   Release PptSlide1   Release PptPres   Release PptApp					
  5. Choose File/Save (CTRL+S) and save the program as PptTest.
  6. Run the program (CTRL+E).

    The example creates an example PowerPoint presentation, plays a slide show for 16 seconds, then cleans up. The code is commented carefully to explain what each code segment does.
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Article ID: 230154 - Last Review: 10/24/2013 06:29:00 - Revision: 1.0

Microsoft Visual FoxPro 6.0 Professional Edition, Microsoft PowerPoint 2002 Standard Edition, Microsoft PowerPoint 2000 Standard Edition, Microsoft PowerPoint 97 Standard Edition

  • kbnosurvey kbarchive kbautomation kbhowto KB230154