Archive for December, 2011

One Man’s Struggle with Visual Disability

December 19, 2011

On my Windows PC, I always use both the Magnifier and the High Contrast display mode to reverse screen colors.

While it gets me through the day, it is still an awkward way to use a computer. To read text, I must hover my mouse over it so it appears in the magnifier window which takes up the top quarter of my screen.

Most hardcopy printed material is tedious for me to get through, and I have stopped reading books many years ago.

Today, I had an interest in reading Syd Field’s classic book Screenwriting, the de facto book on the subject of… wait for it… wait for it… screenwriting.

My desire was strong enough to make some little fact of which I was peripherally aware come to the forefront of my mind – there is a Kindle reader application for PC’s.

A Google search easily took me to the correct page on Amazon and I downloaded the Kindle for PC software.

It came preloaded with Pride and Prejudice, Treasure Island, and a translation of Aesop’s Fables.

After learning the software and fiddling with it for several minutes, I discovered the font settings that work best for me, those being the largest font size, the most number of words on a page, the highest brightness, and the black background. I then go into full screen mode, and I began reading Aesop’s Fables.

For the first time in maybe about 10 years, I had the virtual experience of reading a book, without being squashed up into the highest corner of my screen. I can actually read the text without the magnifier tool and turn pages.

I’m not sure I’ll go back to reading as many books as I used to, but I know I will enjoy some, starting with Aesop’s Fables, and then maybe the entire Syd Fields library on screenwriting, and perhaps the Steve Jobs biography.

Aesop’s Fables has special meaning for me – grandma and grandpa always had a set of cards, the size of large playing cards or tarot cards, each containing an Aesop’s Fable, usually with a nice illustration of the animals on it. When we were little, I read those cards over and over again. In reading several just now, I realize many of my thoughts on morality and life came from these stories.

Thanks for being my Kindle inspiration Mom!


The Feasibility of Converting Office VBA Applications to VB6

December 15, 2011

The first thing one should address in an article about converting Office VBA applications to VB6 is “WHY?”

Why would someone bother in the year 2011 to convert one decade-old technology to another decade-old technology?

The answer is this: many businesses are still using these technologies. Especially large firms find it takes many years to switch to the latest and greatest.

Some of my clients still use Office 2003 or even Office 2000.

And I’m not talking only about small companies who perhaps don’t know any better or who are on tight budgets. I’m talking about large multinationals, the largest companies in the world.

The next question is: why convert from Office VBA to VB6?

The answers:

  • To create a free-standing application executable, one which doesn’t use a Word document or template directly to house the code. Granted, there are other ways to do this, but using VB6 may be one of the simplest.
  • To take advantage of the speed advantage by using a compiled language like VB6 versus a semi-compiled/interpreted language like Office VBA.
  • To have your code run in a more stable environment – VB6 versus Office VBA.

While we won’t go into a detailed technical how-to here, we will address the feasibility.

The answer is: yes, it is feasible to convert Office VBA applications to VB6 applications.

The language syntaxes are virtually identical.

Here are a few pointers:

  • You must physically move the code. There are easy ways to do this.
  • You must set proper References to the Office libraries that are usually set by default within the Office VBA environment.
  • You must account for the differences between the Application object in Office VBA and the App object in VB6. They have little in common.
  • Generally, you may find it best to use full object qualification in your code. For example, I routinely use Word.Document as an object type in my Word VBA code rather than simply Document. This does tend to make things a bit easier when converting to VB6. If you do this, you can be sure you’re referring to the correct object type. The same object type may exist in different libraries. I also use Word.Application rather than simply Application.
  • With a bit of diligence and a cool head, you can successfully convert your Office VBA applications to VB6 applications.

Happy coding!