Saturday, February 20, 2010

VBA7

I took my eye off the ball in terms of future and pending developments for Microsoft Office - Office 2010 and the automation language, VBA, and now it seems VBA is up to version 7.

Microsoft appears to have had a dilemma - Office, tracing its roots back to Word 1.0, Excel 4.0 (and even earlier) has always been COM based. The Microsoft nerd programming community embraced .NET framework ages ago and we're now looking at the pending Visual Studio 2010 and .NET framework 4.0 - that's 4 versions from when .NET started.

However, Office programs remain mired in COM based programming and retains VBA (VB6, the big brother bit the dust long ago). Over time, the Microsoft Office team (allegedly) have had to deal with mismanaged source code and specifications - features were incrementally tacked on to Office programs every year and a consolidated "big book of Office" is hard to come by.

Well, Office 2010 looks like another landmark. For the first time, there will be two mechanisms - the 32bit Office and the 64bit Office to take advantage of the bifurcation in Windows (started with Windows XP). I don't think the plumbing of Office really impacts the end user of Office - yes, there will be more capacity and so on, but fundamentally, if you type a few words into Word, Word should be transparently carry out the tasks, not confront you with what plumbing lies behind it.

So, Office 2o10 will have a 64 bit edition. Hold off those of you who grumble about the fact that "bug number 23748 has not been fixed and will it ever be fixed" - the aim of the game is to progress the plumbing since the plumbers are the ones who put it together.

Since Office 2010 will be available in 64 bit, it must now be obvious that VBA has to be 64 bit capable as well. Thus VBA7. And since they are tinkering with that, they must have added new features to VBA7 and tinkered with the incrementing Object Programming Model of eacg of the Office programs.

Office 2007 is impacting business with The Ribbon - that's the obvious aesthetic change. We're finally getting training assignments for Office for veteran users - Office since '95 has not had a visual change.

It does not dawn on many veteran users and IT Pros that the Office team has also implemented significant architectural change - the driving force was a new User Interface, new XML based file formats and an evolving stance on an integrated result document visual (better looking fonts, consolidated colours and styles, new shared charting and graphic objects engine).

So, Office 2007 has proven to be a landmark and a motivator for upgrading Office in the corporate offices. Looks like Office 2010 will up the ante - the UI may not change that much but there's going to be a lot of underlying plumbing changes. I wonder how many Excel macros will break? Get your free Office 2010 Beta (some priviledged users have the Release Candidate) to have an fore taste.

Oh, in case you haven't been playing, there is also the on-the-go options - Office Webapps and Office Mobility - but are they any relation to Office classic?

1 comment:

Jerry Rutherford said...

I have found that routines which worked fine in VBA6 now fail. Some are core commands like...

mynewdata = MID$(MYOLDDATA,5,4)

There could be a workaround...

mynewdata = VBA.MID$(MYOLDDATA,5,4)

Or...

mynewdata = VBA.MID(MYOLDDATA,5,4)

Still testing at this time.