tags:

views:

271

answers:

2

We have built an Excel 2003 template that asks the user to select an XML file which is then imported into an XML Map and used to populate a worksheet.

Unfortunately it turns out that the users have Excel Standard Edition, which does not include the XML import functionality - namely the Workbook.XmlImport function.

Users are able to open the XML file via File -> Open etc, however this opens it up as a new workbook.

Does anyone know of a way to get around this? How can we get the XML data to populate the XML Map when the users have Excel 2003 Standard Edition?

+1  A: 

Quick workaround:

  1. Let them select the file to open
  2. open that file into a new workbook using vba,
  3. copy the contents of the new worksheet (or read it all in to vba recordsets to parse)
  4. paste it back into your active worksheet (maybe after you've done stuff to it in VBA)
  5. close the xml worksheet, not saving any changes.

That would get around it, but it won't be quite as flexible. Depends how much you need to do with it.

Any help?

Matthew Rathbone
Alternatively, are you able to use Visual Studio Tools For Office? If so, you can harness the power of the .net xml libraries and still deliver the application as an Excel plugin with little problem.
Matthew Rathbone
+1  A: 

The best course may be to buy a used version of 2003 Professional. You can get one for about $50. If you have a ton of users, this obviously doesn't scale. If you have four users, this would be a $200 fix to your problem.

If you're on the verge of upgrading, you might accelerate that process and make sure the 2007 flavor has XML support. I want to say that all of 2007 has XML, but definitely investigate it before you take my word.

Option 3 involves a lot of time and code. You can write VBA to import and refresh XML (or CSV or something else). Obviously you'd have to weigh the cost of coding to finding and buying enough used licenses.

Dick Kusleika
Getting the users to upgrade would be the ideal solution, however we unfortunately don't have control over the user's sytems. Damn corporate environments...
Jonskichov