Experienced Challenge 7: It's Show Time!
Office Programs Required
Microsoft PowerPoint 2007
Microsoft Excel 2007
Deadline for Submission
Wednesday, April 29, 2009 (8:00 AM Pacific Daylight Time)
in the OfficePalooza Challenge Pack.
If there’s a Holy Grail of PowerPoint presenting (and we’re pretty sure that there is) it’s this: how can you present a slide that counts down the seconds until the show begins and then, when the count reaches zero, automatically kicks off the presentation? Amazingly enough, that capability has never been included in PowerPoint. Granted, people have done clever things using multiple slides; for example, they’ll show a slide that displays the number 10 then, after a one-second delay, show a slide that displays the number 9 (etc., etc.). Other people have done very complicated things, such as tap into the Windows APIs in order to create a single-slide countdown. That’s all well and good, but those efforts all represent a bit of a kludge, and are definitely not the Holy Grail of PowerPoint presenting.
Note. According to Wikipedia a kludge is a “workaround, an ad hoc engineering solution, a clumsy or inelegant solution to a problem, typically using parts that are cobbled together.” The article notes that Jackson Granholm, often credited with coining the term, was quoted as saying, "The building of a kludge ... is not work for amateurs. There is a certain, indefinable, masochistic finesse that must go into true kludge building." And if a certain, indefinable, masochistic finesse doesn’t describe OfficePalooza, well, we don’t know what does.
So does Challenge 7 represent the Holy Grail of PowerPoint presenting? Yes, it does.
Um, by which we mean, no, it doesn’t. As it turns out, Challenge 7 is a bit of a kludge, too. But even kludges can be fun and exciting, right?
Well, let’s hope so.
As it turns out, while you can’t do any sort of countdown in PowerPoint you can do a countdown in Microsoft Excel. (How do you do a countdown in Excel? Why you just – hey, wait a second; we can’t give away the solution!) Therefore, the kludge – um, the challenge – here is to countdown from 1 minute (60 seconds) to 0 in Excel. And when the count reaches zero? You got it: you then need to launch a PowerPoint presentation in Slide Show mode.
See? Fun and exciting!
To complete this challenge you’ll need two files that can be found in the OfficePalooza Challenge Pack : Experienced_challenge_7.xlsm and Experienced_challenge_7.pptx. (Make sure you place the files in the same folder, and do not use a complete path name when launching the PowerPoint presentation.) You can largely ignore Experienced_challenge7.pptx; the only file you need to modify is the Excel file, Experienced_challenge_7.xlsm. When you open it, that file will look something like this:
To complete the challenge, right-click the Start Countdown button and click Assign Macro. When the Assign Macro dialog box appears, select StartCountdown and then click Edit. In turn, the Visual Basic Editor will open up, along with a subroutine that looks like this:
Your job is to populate this subroutine with the VBA code that solves challenge. (Note that all the code must be included in this subroutine; this is due to the way we have to test this code.) Your subroutine should count down from 1:00 (one minute) to 0:00, updating the time every second. In other words:
And so on.
When the count reaches zero, the subroutine should then open Experienced_challenge_7.pptx in Slide Show mode. Do that, and you’ve successfully solved the challenge.
Not bad for a kludge, huh?
Oh, and did we mention that, right before the subroutine launches the presentation, the computer needs to say (yes, say) the phrase "It's showtime!"? Well, if we didn't mention that we should have, because your subroutine needs to do that, too.
Important. We'd actually like your computer to say the phrase "It's showtime!" out loud. In ohter words, we'd like to hear the phrase through the computer speakers.
Submitting Your Entry
The OfficePalooza sweepstakes is over, but you’re welcome to try the challenges and learn on your own. Good luck!