Pushing PowerPoint Past Its Limits
Using Visual Basic Modules to Enhance Accessibility, and Add Functionality to PowerPoint
Revised from presentation for Closing the Gap, Friday, October 17, 2003 - 8:00AM to 9:00AM, Plaza 6 Radisson
by
Jim Luther, Center for the Disabled, Albany NY
jamjolu@hotmail.com
Kristi Voelkerding, Easter Seals Massachuetts
www.5gigs/jimluther/access.htm
What is a Macro?
A macro is often thought of as a set of mouse and keyboard actions that one recorded to do things like type a name and address. The macro is given a name, assigned a keystroke sequence, or assigned to a toolbar button so that by issuing the key sequence, or by clicking the button the set of actions would be carried out. Visual Basic for Applications extends the traditional macro capability greatly beyond a simple set of recorded actions.
What is Visual Basic for Applications?
Visual Basic for Applications is a programming language that is supported throughout most of Microsoft's Office products like Word, Excel and PowerPoint. Visual Basic permits one to write routines that interact with an application like PowerPoint to alter the way it looks, or behaves. Each routine is given a unique name. Users can, for example, activate one of these routines by clicking on a Visual Basic control. Visual Basic routines stored in modules are also accessible to PowerPoint authors. Specifically named routines will appear in the list of Macros associated the ActionSettings of a shape that appears on a slide. The PowerPoint author can choose to have a particular Visual Basic routine execute as the result of some user either moving the mouse pointer over a shape, or as a result of clicking on the shape.
What are Visual Basic Controls?
Visual Basic Controls are objects like Command Buttons, Text Boxes, Drop-down Lists, etc. that you can place (embed) on a slide in your slideshow. These embedded controls respond to mouse actions, and can be used to activate named Visual Basic routines. In spite of the terminology that refers to the VB controls as being embedded, they actually intercept any mouse clicks and process them before PowerPoint does. The Macintosh implementation of PowerPoint does not support the use of embedded controls.
What are Visual Basic Modules?
Visual Basic routines can be grouped together and saved as a named module. In general, modules can be imported into any PowerPoint presentation to afford it the benefits provided by its routines. More than one module can be imported into a PowerPoint slideshow. Once imported, the modules are included in the slideshow thereafter by simply saving the slideshow. The routines in the modules are available to embedded controls, to special Visual Basic entities called UserForms, and to PowerPoint as macros associated with ActionSettings.
What are UserForms?
UserForms are collections of Visual Basic Controls (things like Command Buttons and Text Boxes) and Visual Basic routines. UserForms, like modules, can be imported into PowerPoint slideshows. UserForms appear as separate windows that float over the application like PowerPoint, and provide a user interface. The UserForm, once opened, takes control over the slideshow. Control (your ability to interact directly with PowerPoint) will be given back to PowerPoint either by closing the UserForm or by ending the slideshow. The UserForm will close if you jump to another slideshow or other application. A UserForm can refer to routines that may exist in other modules, and if they do, those modules must also be imported into the same slideshow as the UserForm. A module, or UserForm that refers to routines or elements that haven't been included in a slideshow will cause errors, or will simply not work.
What is supported in Windows vs. what is supported in Macintosh?
Windows 95 and newer will support all of the enhancements I cite below. In the case of the text-to speech, Microsoft Agent Technology, the Agent must be properly installed on the computer the slideshow is expected to run on, and the Agent Control must be embedded somewhere in the slideshow. The Agent will not work on a Macintosh. The Mac does not support the placement of Visual Basic controls directly into a slide. Version X of PowerPoint for Macintosh will support UserForms, so scanning support can be included in slideshows intended for Macintosh, with some limitations.
What kinds of limitations do using Modules and UserForms place on a PowerPoint slideshow?
While Visual Basic activity takes place the PowerPoint slideshow is on hold. This means that Custom Animations will not occur until after the Visual Basic action concludes. So, if you want to use Custom Animations and provide scanning support, you will need to use a method that lets you jump from the scanning supported slideshow to the animated slideshow and back. On the Macintosh, at this time, it is not possible to jump from a scanning slideshow to another slideshow, and back without losing scanning control.
What are other differences between the Setup Slide and UserForm versions of scanning shapes?
The Templates that have the Setup Slide and scan buttons can be used to link to other scanning shapes slideshows with the same layout. If you uncheck the macro virus protection the switch user will be able to transition between slideshows without the macro warning popping up.
The templates that offer access to scan controls on UserForms can't link to other scanning slideshows, but they can offer support for keyboard input. Keyboard input support allows for direct access to the Mouse Click Action Settings for the first nine scan shapes on any slide. Keyboard input can be used to control a two-switch scan, and provide word or phrase input to fill-in boxes.
What kinds of enhancements are available from Jim Luther?
Scanning Shapes:
With the Scanning Shapes templates, you can add scanning shapes to create a linear scan of multiple objects on a slide. There is support to create auditory cueing, and auditory messaging with recorded sound files, and you can link to other slideshows, other applications, and even the Internet. The following link refers you to a sample, how-to documents, a template, and VB modules. SCANSHAPESV2.
Scanning Shapes with Text-to-speech by Microsoft Agent Technology Support:
Basically, this template provides the same capabilities as the Scanning Shapes template, and offers support for text-to-speech if the Microsoft Agent has been installed. The following link refers you to a sample, a template, how-to documents, and VB modules. SCANSHAPESV3.
The Multiple Choice Test Support:
Multiple Choice test support is included in the above templates. The following link refers you to a sample, a template, how-to documents, and VB modules. MULTITEST.
The Fill-in-the-blank Support:
The Fill-in-the-blank support is included in the above templates. The following link refers you to a sample, a template, how-to documents, and VB modules. FILLINBLANK.
The Scan Control User Form:
This UserForm offers support for multiple access methods including single and dual switch scanning, and keyboard access. The keyboard access can be used to directly access scan shapes, initiate a two-switch scan, and provide a means for text input to fill-in boxes. It is well suited to use with the Intellikeys keyboard. The following link refers you to a sample, a UserForm, how-to documents, and VB modules. SCANSHAPESUFV2, and the UserForm that supports the Microsoft Agent SCANSHAPESUFV3.
Pictoggler support:
pictToggler support provides a simple means to make pictures appear and disappear on a slide. There are two template versions for picTogglers - one with Microsoft Agent, blankPicTogglerWAgent, , and one without, blankPicToggler.
How Do I decide what I will need for my slideshow?
First, decide what features you want. Use the following table to ascertain what modules (* .bas files), UserForms (*.frm and associated *.frx files), and other Technology you will need to support features you want. Next, either use the recommended template (*.ppt files), or export the desired modules from the templates described below and then imoprt the modules and/or UserForms into your pre-existing slideshow. When importing UserForm files, the *.frx file will be automatically loaded when you load the *.frm file. Both the *.frx and *.frm files should therefore be in the same directory.
How do I go about this import and export stuff?
Open one of the PowerPoint scanning shapes templates described below. From the PowerPoint Tools menu select Macro and then Visual Basic Editor. When the Visual Basic Editor opens you should see a small panel on the left side of the Visual Basic Editor named Project- VBAProject. Inside this panel you will note that there are folders - one named Modules, and, possibly, one named Forms. Inside these folders you will perhaps see modules or forms that are described in the table below. If you right click one of the item inside on of the folders you can select the Export option that appears in the menu that opens. You can import the exported elements into your slideshow by opening your slideshow and going into the Visual Basic Editor. Next, from the File menu select Import File and import each module or form you need. Once the modules are imported the macros defined in them will be available as options when setting ActionSettings for shapes in your slideshow.
|
If I start with… |
What I will need if I want… |
||||
|
Scratch or Template |
CPU/ OS |
Scanning |
Scanning with Agent |
Fill In Support |
|
|
Scratch |
Mac (OS X) |
scanShapes2b.bas scanControlFormNA.frm scanControlFormNA.frx loadScanControlNA.bas |
Not Possible |
fillInSupport.bas |
|
|
Template |
Mac (OS X) |
Not Possible |
All supports are included |
||
|
Scratch |
Win 95+ |
scanShapes2b.bas scanControlFormNA.frm scanControlFormNA.frx loadScanControlNA.bas |
scanShapes3b.bas scanningShapesWithAgent.frm scanningShapesWithAgent.frx loadScanShapesUFWA.bas |
fillInSupport.bas |
|
|
Template with Setup Slide |
Win 95+ |
All supports are included |
|||
|
Template without Setup Slide |
Win 95+ |
All supports are included |
|||
|
pictToggler w/ UserForm Template |
OS X, Win 95+ |
blankPicToggler.ppt |
blankPicTogglerWAgent.ppt OS X not supported |
All supports included |
|
What are Add-ins?
Add-ins are supplemental programs that extend the capabilities of Microsoft PowerPoint. You can find out about Add-ins and much more from the following resources:
PowerPoint Tips, VBA examples and Add-In sources:.
Steve Rindsberg's site
http://www.rdpslides.com/pptools/
Steve's site has a number of add ins mainly to aid in the construction of presentations, extensive tips on PPT, and helpful links, and tons of other stuff.
Shyam Pillai's site:
http://www.mvps.org/skp/index.html
Shyam's ToolBox
has features way too numerous to cover here for the advanced PowerPoint creator to assist in manipulating links, exporting slides, images, or text, inserting Flash movies, optimizing slideshows etc...Image Importer which imports multiple images from multiple directories and inserts them into separate slides automatically. A potentially massive time saver for creating electronic story books.
Handout Creator which allows you to go way beyond the small set of handout option that comes with PowerPoint letting you define the number of slides per row/per column, order, margins, gap, border, alignment in a custom layout, and more.
Live Web which will allow you to insert web pages into a PowerPoint slide and refresh the pages real-time.
And, a No-Escape add-in that disables ESC key for PowerPoint 2000.
Chirag Dalal's site:
http://officerone.tripod.com/index.html
This site has Add-ins for doing multiple simultaneous presentations on a single screen, presentations on multiple screens, adding password protection, and more. There are free add-ins that do things make your slideshow background transparent (so Powerpoint shapes can fly over your desktop?), show 2 slideshows simultaneously, and more.
Chirag also has a neat utility for keeping the mouse cursor visible:
http://officerone.tripod.com/download/showmouse.html
The Following link has a nice Add-in compatability list:
http://www.indezine.com/products/powerpoint/addin/compatible.html
Text-to-speech Add-ins:
Also check out these helpful PowerPoint sites:
Tutorials, tips on PPT, templates.
Tutorials, tips on PPT animation and Bezier curves.
And of course, check Microsoft for PPT Add-ins and Updates: