It’s 7am, too early. Whenever I wake up is too early; today it happens to be 7, usually 6, but last night I was fiddling around with a Visual Basic and Powerpoint combo that is almost ready for its third release as a Jeopardy game for teachers. It’s very simple but like all software, it’s biting me in the rearend in one dark-corner gotcha after another, and it’s not always my fault either.
Yesterday, causing me to forego an early-to-bed order from the boss, I futzed around for five hours, for instance, chasing what’s apparently a bug in PowerPoint (there’re more than MS would have you know) that sometimes causes one shape to simply not reappear. After finding a suggestion to that effect and confirming it and hunting fruitlessly for a workaround I found that following it with a command to shift it backward in the Zorder forced a refresh of the screen that reveals the shape again. One guy, in a blog, suggests forcing a revisit to the page, but that just broke the audio that was in progress. Pushing it senselessly backward in ZOrder works. Well, it works a bit except that occasionally, not every time, the text is larger than it is supposed to be. Hmmmm. [hours later I gave up and added another slide]
Before that the boogieman I had chased was this: using a system constant called msoFalse instead of a simple constant called False crashes the Visual Basic interpreter or maybe Powerpoint itself. The Intellisense helper for this command, which hides a shape by setting its Visible property to false, suggests using msoFalse. How-so-frigging-ever, msoFalse crashes the system whereas using a simpler (and un-suggested) False does not.
I had chased this problem a few months ago, and had developed an elaborate workaround that really didn’t fit the situation. I am questioning the wisdom (stupidity) of developing the thing in Powerpoint and VBA instead of a real programming environment like C# and Silverlight.
[update] By adding another layout and a second slide from that layout I have gotten it working. I removed and the hiding and revealing of instructions and the barmy ZOrder stuff. Actually, the code reads better now.