01.11.07

Gemini version available ♊︎

Proprietary Open XML Extensions (Already!)

Posted in Apple, Deception, ECMA, Formats, Interoperability, Microsoft, Novell, Office Suites, Open XML, OpenDocument, Standard, VBA at 12:03 am by Shane Coyle

As you are likely aware, Excel 2007 includes a new file format for storing data, well actually it has a few new file formats apparently. And, none of them are OpenDocument, in case you were wondering.

Rob Weir takes Office 2007 for a spin, and has some interesting things to report regarding the file formats being used by Excel 2007.

In addition to the default Open XML file format (.xlsx) that has been added to Office 2007, there is also an additional format called the Excel Macro-Enabled Workbook (.xlsxm) which contains binary-only data not specified in the ECMA standard. There is also an all-new binary-only format (.xlsb), which Microsoft says provides "optimal performance and backward compatibility" (wasn’t that the point of Open XML?).

The “Excel Macro-Enabled Workbook” option saves as an “xlsxm” extension. It is OOXML plus proprietary Microsoft extensions. These extensions, in the form of binary blob called vbaProject.bin, represent the source code of the macros. This part of the format is not described in the OOXML specification. It does not appear to be a compiled version of the macro. I could reload the document in Excel and restore the original text of my macro, including whitespace and comments. So source code appears to be stored, but in an opaque format that defied my attempts at deciphering it.

(What’s so hard about storing a macro, guys? It’s frickin’ text. How could you you[sic] screw it up? )

This has some interesting consequences. It is effectively a container for source code that not only requires Office to run it, but requires Office to even read it. So you could have your intellectual property in the form of extensive macros that you have written, and if Microsoft one day decides that your copy of Office is not “genuine” you could effectively be locked out of your own source code.

There is also a method to add in additional file formats for saving to, including PDF and Microsoft’s XPS, but there is no native ODF support yet.

Overall, Rob’s experience was a bit buggy, and there was an incident where trying to save to Open XML prompted a message about incompatible features (so much for backward compatibility, hey try the new binary-only format…).

I wonder how Novell OpenOffice.org’s VBA support is going to handle the new binary information in the macro-enabled workbook? Still better than the next MS Office for Mac, I suppose.

Share in other sites/networks: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Reddit
  • email

Decor ᶃ Gemini Space

Below is a Web proxy. We recommend getting a Gemini client/browser.

Black/white/grey bullet button This post is also available in Gemini over at this address (requires a Gemini client/browser to open).

Decor ✐ Cross-references

Black/white/grey bullet button Pages that cross-reference this one, if any exist, are listed below or will be listed below over time.

Decor ▢ Respond and Discuss

Black/white/grey bullet button If you liked this post, consider subscribing to the RSS feed or join us now at the IRC channels.

5 Comments

  1. Stephane Rodriguez said,

    January 23, 2007 at 12:27 pm

    Gravatar

    I am a new visitor. While I find your blog instructive (subscribed), I’d like to shed some light on a confusion here.

    VBA projects are encoded in bin parts in the new Office 2007 file formats, whether it’s Word, Excel or Powerpoint. Those parts are the actual VBA streams that we find in older versions of the corresponding applications. That’s a direct extraction.

    There are other binary parts, such as printer settings parts and OLE objects parts.

    The new XLSB file format pushes XLSM even further by making the important XML parts encoded in much the same way than BIFF used to do with older versions. Actually, those bin parts are christened as BIFF12. BIFF12 is undocumented right now.

    I have written an article on the subject here :
    http://www.codeproject.com/useritems/office2007bin.asp

  2. Roy Schestowitz said,

    January 23, 2007 at 12:47 pm

    Gravatar

    Thank you for the information, Stephane. For the record, I notice that you are among the Open XML team members:

    http://openxmldeveloper.org/members/Stephane+Rodriguez.aspx

    Also, yesterday’s news indicate that Microsoft pays people to “bring balance” to content which speaks about Open XML. I just hope you are not being paid to post here.

    In any event, your comment does not invalidate the fact that Open XML has undocumented, binary parts.

  3. Stephane Rodriguez said,

    January 23, 2007 at 1:41 pm

    Gravatar

    If you think I may be a paid shill, take a look at this : http://xlsgen.arstdesign.com/special/OOXML_objections.pdf

    (this is on my website)

    The OOXML specs are so bad I had to develop my own tool, called “diffopc”, to make any progress in my product (an Excel file format component which recently added partial support for Excel 2007).

  4. shane said,

    January 23, 2007 at 1:52 pm

    Gravatar

    Thank you, Stephane. We’ve had a huge influx of trolling as of the last few days, and perhaps are a bit on edge. There is no doubt from your first linked article (I didn’t read the pdf yet) that you are well versed in the OOXML spec.

    I love the fact that we do have discussions on the site, and want to encourage further discussion and corrections. I want our arguments to withstand scrutiny, and encourage any readers to question or comment on our premises.

    Let’s all just keep it mature, and there is no reason to post using pseudonyms folks, just type in "anonymous" or "i disagree". I still do not intend to censor any non-spam comments, nor shut down commenting after x number of days on an article, since many are still actively being viewed and linked to.

  5. Michael said,

    September 12, 2007 at 9:10 am

    Gravatar

    Thanks for the nice post!

DecorWhat Else is New


  1. IRC Proceedings: Sunday, June 04, 2023

    IRC logs for Sunday, June 04, 2023



  2. Links 04/06/2023: Unifont 15.0.05 and PCLinuxOS Stuff

    Links for the day



  3. Gemini Links 04/06/2023: Wayland and the Old Computer Challenge

    Links for the day



  4. StatCounter: GNU/Linux (Including ChromeOS) Grows to 8% Market Share Worldwide

    This month’s numbers from StatCounter are good for GNU/Linux (including ChromeOS, which technically has both GNU and Linux); the firm assesses logs from 3 million sites and shows Windows down to 66% in desktops/laptops (a decade ago it was above 90%) with modest growth for GNU/Linux, which is at an all-time high, even if one does not count ChromeOS that isn’t freedom- or privacy-respecting



  5. Journalism Cannot and Quite Likely Won't Survive on the World Wide Web

    We’re reaching the point where the overwhelming majority of new pages on the Web (the World Wide Web) are basically junk, sometimes crafted not by humans; how to cope with this rapid deterioration is still an unknown — an enigma that demands hard answers or technical workarounds



  6. Do Not Assume Pensions Are Safe, Especially When Managed by Mr. EPOTIF Benoît Battistelli and António Campinos

    With the "hoax" that is the financial assessment by António Campinos (who is deliriously celebrating the inauguration of illegal and unconstitutional kangaroo courts) we urge EPO workers to check carefully the integrity of their pensions, seeing that pension promises have been broken for years already



  7. Links 04/06/2023: Why Flatpak and Wealth of Devices With GNU/Linux

    Links for the day



  8. Gemini Links 04/06/2023: Rosy Crow 1.1.3 and NearlyFreeSpeech.NET

    Links for the day



  9. IRC Proceedings: Saturday, June 03, 2023

    IRC logs for Saturday, June 03, 2023



  10. Links 04/06/2023: Azure Outage Again (So Many!) and Tiananmen Massacre Censored

    Links for the day



  11. Links 03/06/2023: Qubes OS 4.2.0 RC1 and elementaryOS Updates for May

    Links for the day



  12. Gemini Links 03/06/2023: Hidden Communities and Exam Prep is Not Education

    Links for the day



  13. Links 03/06/2023: IBM Betraying LibreOffice Some More (After Laying off LibreOffice Developers)

    Links for the day



  14. Gemini Links 03/06/2023: Bubble Woes and Zond Updates

    Links for the day



  15. Links 03/06/2023: Apache NetBeans 18 and ArcaOS 5.0.8

    Links for the day



  16. IRC Proceedings: Friday, June 02, 2023

    IRC logs for Friday, June 02, 2023



  17. The Developing World Abandons Microsoft Windows, GNU/Linux at All-Time Highs on Desktops/Laptops

    Microsoft, with 80 billion dollars in longterm debt and endless layoffs, is losing the monopolies; the media doesn’t mention this, but some publicly-accessible data helps demonstrate that



  18. Links 02/06/2023: Elive ‘Retrowave’ Stable and Microsoft's Half a Billion Dollar Fine for LinkeIn Surveillance in Europe

    Links for the day



  19. Linux Foundation 'Research' Has a New Report and Of Course It Uses Only Proprietary Software

    The Linux Foundation has a new report, promoted by Clickfraud Spamnil and others; of course they’re rejecting Free software, they’re just riding the “Linux” brand and speak of “Open Source” (which they reject themselves)



  20. Links 02/06/2023: Arti 1.1.5 and SQL:2023

    Links for the day



  21. Gemini Links 02/06/2023: Vimwiki Revisited, SGGS Revisited

    Links for the day



  22. Geminispace/GemText/Gemini Protocol Turn 4 on June 20th

    Gemini is turning 4 this month (on the 20th, according to the founder) and I thought I’d do a spontaneous video about how I use Gemini, why it's so good, and why it’s still growing (Stéphane Bortzmeyer fixed the broken cron job — or equivalent of it — a day or two after I had mentioned the issue)



  23. HMRC Does Not Care About Tax Fraud Committed by UK Government Contractor, Sirius 'Open Source'

    The tax crimes of Sirius ‘Open Source’ were reported to HMRC two weeks ago; HMRC did not bother getting back to the reporters (victims of the crime) and it’s worth noting that the reporters worked on UK government systems for many years, so maybe there’s a hidden incentive to bury this under the rug



  24. Our IRC at 15th Anniversary

    So our IRC community turns 15 today (sort of) and I’ve decided to do a video reflecting on the fact that some of the same people are still there after 15 years



  25. IRC Proceedings: Thursday, June 01, 2023

    IRC logs for Thursday, June 01, 2023



  26. Links 02/06/2023: NixOS 23.05 and Rust 1.70.0

    Links for the day



  27. Gemini Links 02/06/2023: Flying High With Gemini and Gogios Released

    Links for the day



  28. Links 01/06/2023: KStars 3.6.5 and VEGA ET1031 RISC-V Microprocessor in Use

    Links for the day



  29. Gemini Links 01/06/2023: Scam Call and Flying High With Gemini

    Links for the day



  30. Links 01/06/2023: Spleen 2.0.0 Released and Team UPC Celebrates Its Own Corruption

    Links for the day


RSS 64x64RSS Feed: subscribe to the RSS feed for regular updates

Home iconSite Wiki: You can improve this site by helping the extension of the site's content

Home iconSite Home: Background about the site and some key features in the front page

Chat iconIRC Channel: Come and chat with us in real time

Recent Posts