Microsoft's Excel team talks Visual Basic vs. JavaScript and Mac woes in Reddit AMA

04.11.2015
The questions plaguing users of Microsoft Excel—JavaScript support, slow Mac development cycles, the lack of Easter eggs—all apparently come down to one thing: prioritizing developer resources.

The Microsoft team took to the pages of Reddit on Wednesday in an ”Ask Me Anything” session to answer questions about the future of Microsoft’s 28-year-old spreadsheet program. One of the sticking points: Visual Basic for Applications, a language that Microsoft added in 1993 to allow users to define their own functions. Is it time for VBA to go

Yes... and no, Microsoft’s team replied. “We love VBA, and we plan to keep it around for the foreseeable future,” “Dan,” one of the members of the team, responded. “As we add new features to Windows Desktop and Mac versions of Excel (where VBA is supported), we’ll continue to add [an] object model for those features, so you have programmable access to all of the capabilities of the application.”

Why this matters: Legacy code can be a nightmare for developers, but it’s even worse when a generation of programmers depends on a particular toolset or API. Microsoft Office arguably remained stale for decades, with incremental changes. Microsoft’s having to make some tough choices about what to retain and what to jettison, even as its developer resources are being asked to support a growing number of platforms.

While Microsoft will continue to support VBA, it’s also working to make Excel more compatible with more modern object-oriented programming languages.

Microsoft is beginning to add support for JavaScript APIs, which will continually improve with monthly updates, the team added. “[W]e are actively working on dramatically extending that [JavaScript] API set to be in line with the existing VBA/COM object model,” “Dan” added. “The good news here is that the new APIs will work regardless of the Excel endpoint/device, which will mean that solutions will be much more universal than they are today.”

The problem, the Excel team said, is that Microsoft now has to support several platforms—Windows desktop, Windows mobile, Mac, iOS, Android, and the Web, among others—which implicitly prevents each platform from getting “caught up” with the others. Excel for the Mac, for example, has seriously lagged behind the PC, and even the most recent Excel 2016 for Mac processes calculations using just one core of a multicore machine. 

Like most of its apps and services, Microsoft uses its UserVoice platform to measure user demand, or at least the volume of complaints; for Excel feedback, you should use the Excel site. “We’re already tracking this request on on Excel’s UserVoice here,” the team wrote of the calculation restriction. “Restricting calc to a single core isn’t great for performance and we know that, so it’s safe to say this is on our radar.”

However, it looks like one irritation will remain in place: Excel’s annoying tendency to treat leading zeroes—such as on a tracking or billing number, like “00015632”—as excess that should be chopped off. The default “trick,” the team recommends, is to put an apostrophe in front of the first zero, as a tip that the number should be read as text.

The Excel team also offered one tip: yes, you can open multiple copies of Excel at once, so that you can keep a particular portion of one spreadsheet open in one window, while working in a related version in another. You’ll just need Excel 2013 and above to do it, which some frustrated users of earlier versions didn’t know. Just go to View > New Window and open the file.

Oh, and don’t go hunting for Easter eggs in the latest versions of Excel, like the flight simulator built into Excel 97. “Now it’s an Office policy not to include Easter eggs (for a bunch of reasons),” “Dan” wrote. “It’s a bummer sometimes, but we still do get to have fun on April 1 sometimes.”

(www.pcworld.com)

Mark Hachman