How to parse XML in Excel 2011 for Mac?

14,774

Solution 1

One cross-platform solution is to use a QueryTable like this one, that would certainly be better than rolling your own xml handler for the mac.

Solution 2

I see that your first question has been answered. For your second question: no, the Mac user cannot just install the appropriate .dll. DLL is a Dynamic Link Library, which provides Windows applications with specific functionality. Neither OS X nor Excel:Mac can do anything with a DLL file, just as OS X can't do anything with a Windows executable .exe file. If rewriting the code to make it work cross-platform isn't in the cards, you could ask your Mac user to run Excel 2010 via a virtualization application or by dual-booting into Windows.

Share:
14,774

Related videos on Youtube

Jamie Bull
Author by

Jamie Bull

Manager at Baringa Partners LLP, working on climate change transition risk modelling. Also and just for the love of it, I develop websites and bots using Django, Flask, Heroku, AWS and more.

Updated on June 04, 2022

Comments

  • Jamie Bull
    Jamie Bull almost 2 years

    I have some VBA code for accessing various XML-based web APIs from Excel (2007, 2010), and have just run up against a user who is on a Mac running Excel 2011. The code I've developed depends on a reference to MS XML 6.0, which apparently isn't available on the Mac.

    This seems to be a problem others have run up against with no resolution.

    1. Does anyone know of a replacement for MS XML 6.0 on the Mac, or a workaround?
    2. Is it possible for the user to just download and install the relevant .dll?
  • Jamie Bull
    Jamie Bull over 11 years
    I like the look of that. I hadn't seen the Google Docs implementation though. That's really sweet!
  • James Snell
    James Snell over 11 years
    Yeah but it's google which effectively makes it completely unfit for business use in my experience. :)
  • Jamie Bull
    Jamie Bull over 11 years
    Agreed. An implementation of importXML() that works in Excel would be great.