J.E.'s comments sum it up pretty well. But, I have added some more detail to
your query below.
Hi Bob,
Are you saying the VBA and the old Macro language are equivalent or
convertable?
No! They are not equivalent or convertible. But, you can do most if not all
things in XLM that can be done in VBA. The are convertible in the sense that
a give macro in one can be recoded into the other. But only tediously by
hand, by someone familiar with both languages.
I believe I read a rather long and technical white paper on the removal of
VBA from Excel on the Mac in the upcoming 2008 version. I was under the
impression that Mac VBA would not be convertable or runable in 2008. And it
also appeared that Excel VBA on the PC would not be convertable or runable on
the 2008 version of the Mac. Also, it seemed that there would not be a tool
to convert the new programming language on the mac to VBA or the old macro
language on the pc and hense that the two platforms would not be compatible
in this area.
This is essentially correct. There will be no VBA in Mac Office 2008.
Period, end of story. So, Windows files containing VBA will not work
properly on Mac Excel 2008, except that the basic Excel worksheet and
formulas will probably work fine, but the macros will not run. Time will
tell how well this really works.
From your email I assume that there Will be a way to convert VBA code to the
old Macro language and then bring it into the 2008 Mac files? I am not aware
of a tool that does that but my mac background is minimal. This is exactly
the info I need to supply to Apple - how are they going to convert all of
their Excel VBA code to the new macro language on the mac without having to
rewrite from scratch!
You assumed wrong. There is no way other than manually rewriting code line
by line. The old macro language (XLM) has ALWAYS worked in both the
Macintosh and Windows versions of Excel, way back to Excel 4. If someone
insists on both upgrading to Excel 2008 AND having existing legacy macros
work, there is no alternative but to convert them to XLM, Apple script, or
some other solution not yet apparent that may evolve. If the Excel workbook
needs to work properly on both platforms, than the developer needs to either
maintain 2 versions, windows/VBA and Apple script. Or, laboriously convert
the VBA to XLM so that a single version can be maintained. May of us Excel
developers have spent a great deal of time (and our client's money) over the
last few years doing just the opposite - converting XLM to VBA, and so may
be well suited to doing the reverse.
My experience in the PC enviornment suggest that most people are writing
there code in VBA not in the old macro language, is that not true on the Mac
also, it is true for my mac customers? In fact none of the companies I work
with are writing code in the old macro language (pc or mac), are any (or
most) of your clients using it?
You are indeed correct. No one I know of is writing in the old macro
language (on either platform) save for a single line or two of code via
executeexcel4macro when the XLM version is simpler or faster than a VBA
version. As noted, most have converted from XLM to VBA long ago, in the
transition from Excel 4 to Excel 5 back in the early nineties. In my case
(and maybe a few other Excel developers) my clients still have one or 2 old
applications originally written in XLM that they are still using. The
applications have continued to work throughout the various Excel upgrades
over the years and therefore had been no reason to change. But this is a
very small percentage of my applications that are in use.