Next Office:Mac will bring back VBA support

By Scott M. Fulton, III | Published May 13, 2008, 6:34 PM

The Mac business users' community was in an uproar two years ago over the removal of a key feature of Office that was created, ironically, for Windows. Now, the company that "listens to its customers" is finding a way to restore it.

Easily Office 2008's most lamented missing feature for Mac users, the lack of support for Visual Basic for Applications -- Microsoft's first, best genuine effort at making its principal application engines cross-platform -- will return in the next edition of the product, according to an announcement this morning by the Mac Business Unit of Microsoft.

"As with [Office 2008] SP1, we are taking your feedback and using it to help us make Office for Mac better," wrote Mac BU general manager Craig Eisler. "We are very clear that Visual Basic for Applications (VBA) is an important feature to certain customers, and we will be bringing support back for VBA in the next version of Office for Mac, along with continuing our support for AppleScript."

For many businesses using Office:Mac, this is a big deal. Although documents created with earlier editions of the applications suite still contain their VBA macros, Office:2008 does not actually execute them, nor does it contain anything that permits them to be edited, favoring AppleScript instead. With the next edition, which has yet to be given an official name, those old macros should become visible again.

The reason for VBA's exit from Office 2008 in the first place was a double-sided sword of irony. For years, Microsoft has wanted to steer clear of VBA in Office in favor of any .NET-based language; and privately, its engineers have told me over those years that the company's goal has been to somehow wean users off of VBA, giving them instead an avenue to true Visual Basic for .NET, or their choice of alternative languages including C#.

One problem there concerns OXML, and the fact that macros are no longer intended to be embedded in documents for portability. Not long ago for its Windows customers, Microsoft touted the inability for embedded macros to be executable from an Open XML-based document as a feature.

But with VBA macros now an intrinsic part of many companies' homemade business logic, the "opportunity" to port that logic to a new language -- and the costs involved with that -- aren't easy to describe as a feature. As a result, VBA may not be going away soon from Office for Windows.

On the Mac side of things, Office 2008's predecessor was originally programmed for the Mac's old PowerPC architecture. So its VBA processor was a PowerPC application.

As one of Office:Mac's engineers, Eric Schwiebert, reluctantly blogged in August 2006 when the feature set for Office:2008 was first being announced, "Some folks might ask, why not just port the Win Office VBA over to the Mac? Well, VBA circa Win Office 97 (which is the closest Windows VBA to what we have on the Mac) doesn't implement their execution engine this way at all. Instead, they have tens of thousands of lines of IA-32 assembly that directly implements all of the opcodes. That assembly does so according to the Windows Intel [Application Binary Interface], which is different from the Mac ABI in several important ways.

"Also, the assembly is in MASM format which is close to but not the same as NASM as supported by GCC [compiler]," Schweibert continued. "So, we'd have to edit the source to be compilable by GCC, and scrub it line-by-line to find and adjust the parts that aren't compliant with the Apple Intel ABI. We'd also end up with two completely different implementations of VBA (PPC state machine and Intel straight assembly) that we'd have to maintain and keep in sync. That would be horribly bug-prone."

So the irony there was that the MacBU team found itself unable to meet the demands of porting what was originally an Intel-based application over to an Intel-based computer, while retaining binary compatibility.

In the intervening period between then and now, Eisler -- the former general manager of AOL Wireless -- was appointed to replace Roz Ho, who moved to Microsoft's Entertainment and Devices Division. Now, Schwiebert finds himself able to at last report on his team's progress on this technically horrendous task, after seeing it surprisingly announced by Eisler.

"When we came to the realization in 2006 that there was no way for us to keep VB in the product and still ship Office 2008 on any semblance of the schedule we wanted, we announced its removal, but kept looking at how to bring it back into the suite even before we shipped," Schwiebert wrote this morning. "Many of the technical challenges I wrote about then still remain, but for a while now I and several others have been working with a group of people who know a heck of a lot about the internals of VB, and once we determined that we could achieve the revival VB in the new schedule for the next version of Mac Office, we locked it into place on the feature list."

What still isn't known is a final release date, though we're given a clue by the fact that such a job would take a few years, by Schwiebert's estimate, and almost a few years have already passed.

Comments

First of all, people can choose whatever OS or progams they want. The world is a big place and can Accommodate all.

Second, If Mac users are not happy with MS Office then demand that Apple get back to it's core business and produce it's quality office program so there is no need to use Office. I know I may get flamed on this one but face it Apple's forays into Office suites suck. Even Open Office is a better choice than Apple's. So direct your comments where they can have the most impact and that's Apple and Jobs.

Score: 0

|

If Mac users are not happy with MS Office then demand that Apple get back to it's core business

How does making iGadgets help Mac:Office users? ;)

Score: 0

|

Microsoft's continual strategy of withdrawing useful Mac products for the Office suite of programs only shoots Microsoft in the foot. There are absolutely no gains in NOT having the finest Office:Mac software out there. If this trend continues, Steve Jobs will soon be inventing the next great program to supplant Word, Entourage, PowerPoint, Excel, etc. While some of these Mac programs do exist, they're not yet as powerful and ubiquitous as those currently provided by Microsoft. If I were in charge at Microsoft, I'd capitulate to Mac users and give them the absolute BEST software out there.

Score: 0

|

ms office still the best one. And no company can compete with it.

Apple is not innovative company at all, they continuously adopting old stuff. OS Leopeard ? - think about it as Tiger SP2 :) , New apple hardware ? Yeaaah ... mighty mouse? iMac, air ? What's new about all of it? Apple logo maybe...and good marketing.

Score: 0

|

If offering less features is consider innovated, then yes he is. The only thing innovated by Jobs is marketing, and lie about their products.

Score: 0

|

If this trend continues, Steve Jobs will soon be inventing the next great program to supplant Word, Entourage, PowerPoint, Excel, etc.

They have yet to port iWork to Windows, they have no interest in trying to compete with MSFT on the OS front, why on Earth would you think they'd want to compete on the Office front?

I'm not making any assertions that it will never happen or anything, I am simply wondering what motivates you to believe such a thing might happen?

In regards to MSFT "capitulating" to Mac users, take a look at the Mac market share. The amount of effort required to get a payoff on a ~6% market where a similar suite exists and already has a strong foothold is *severely* limited.

Score: 0

|

...and fancy packaging.

Score: 0

|

Nokia: Android? Are you crazy?

Rumors about new Android devices abound, but Nokia squashes this one.

What's Now: Drenched with 'Purple Ra1n,' iPhone users caught eating 'redsn0w'

Plus: Symantec and McAfee go to war, and what's LucasArts building in its top-secret, moon-shaped orbital facility?

Can Linux do BitLocker better than Windows 7?

Betanews kicks off a new series with a look at how the Linux operating system's FDE stacks up against BitLocker, the Windows feature that today commands a $120 premium.

Firefox 3.5: The need for speed

This has been the big payoff week for Mozilla's developers, who worked overtime to squeeze out the last drop of performance from their new JavaScript engine.

'GeoHot' gets a shower, cleans up nice, reveals new iPhone 3G S jailbreak

Either puberty has been very kind to the author of the new 'Purple Ra1n' jailbreak tool, or George Hotz may also have some adequate Photoshop skills.

Symantec goes live with Norton 2010 betas

Norton Internet Security and Norton Antivirus 2010 are now available for testing.

IE8 WSUS update push to begin August 25

After months of availability to users willing to seek it out, Internet Explorer 8 will be rolled into Windows Server...

In New York, online booze loses a Circuit Court decision

Court worried about gangster influence if liquor purchased directly.

Geeks vs. journalists: A tale of two worldviews

Recovery with Angela Gunn Why geeks think most mainstream journalism is flaky, and why the mainstream thinks geeks are trying to kill them. (They're both right.)

Fire in downtown Seattle data center knocks out businesses, online services

Small fire has global impact with payment centers, city services down.

What's Next: Obama gives 'Einstein' the go-ahead, while China gives 'Green Dam' a thumbs-down

Plus: If you put up a Web site and name it after you and you're a federal judge, you might not want a bunch of weird nudity hanging around on it.

Hybrid satellite cell phones aren't far off

The first satellite in Terrestar's hybrid cellular/satellite phone network has been launched.

VirtualDub 1.9.3 Experimental

July 6 - 1:28 PM ET

CDBurnerXP Pro 4.2.4.1420

July 6 - 1:07 PM ET

AbiWord for Windows 2.7.6 Beta

July 6 - 12:46 PM ET

Notepad++ 5.4.4

July 6 - 12:25 PM ET

KeePass Password Safe (v2.x) 2.0.8

July 6 - 12:04 PM ET

ReactOS 0.3.10

July 6 - 11:43 AM ET

Tux Paint for Windows 0.9.21

July 6 - 11:22 AM ET