Here’s a program that would be useful. You point it at a directory and it runs around finding all the .doc, .xls, and .ppt files, and generates an OOXML version of each. In the old days, you’d use VBA to do this kind of thing. I’m behind on this kind of technology, but I assume there’s something on Windows that would make this tractable?


Comment feed for ongoing:Comments feed

From: Albin Blaschka (Feb 10 2008, at 13:38)


maybe this can help...

They say on their website (quote):

JODConverter, the Java OpenDocument Converter, converts documents between different office formats.

It leverages, which provides arguably the best import/export filters for OpenDocument and Microsoft Office formats available today.

(quote ends)

So, maybe you can in combination with the plugin to convert between open office and microsoft do what you want...

I must say, I did not try it, I just looked into my bookmarks-collection where those links are lurking around... ;-)

Greetings from Austria!


* *

* *

* *


From: Anon (Feb 10 2008, at 14:07)

File -> Wizards -> Document Converter... ?


From: Stuart Dootson (Feb 10 2008, at 14:16)

Here's a solution for Word documents. It uses the VBScripting that's shipped with Windows since at least Windows 2000.

Anyway - Save the code below as 'conv.vbs'

Execute from the command line with

cscript conv.vbs <directory>

It has no error handling and presumes that a) Word isn't open before running, and b) you have Word 2007+ installed. And other assumptions.

---------- SNIP ----------


Set FSO = CreateObject("Scripting.FileSystemObject")

Dim Word

Set Word = Nothing

Sub ConvWord(File)

If Word Is Nothing then

Set Word = CreateObject("Word.Application")

End If

Wscript.Echo "Converting " & File.Name & " to " & File.Name & ".docx"

Word.ChangeFileOpenDirectory File.ParentFolder.Path

Word.Documents.Open File.Name

Word.ActiveDocument.SaveAs File.Name & ".docx", 12

End Sub

Sub ConvDocsInDir(Directory)

Dim file

For Each file In fso.GetFolder(Directory).Files

if fso.GetExtensionName(file) = "doc" and right(,2) <> "~$" then

ConvWord file

end if


End Sub

ConvDocsInDir Wscript.Arguments(0)

If Not(Word Is Nothing) then


Set Word = Nothing

End If

---------- SNIP ----------


From: James (Feb 10 2008, at 14:49)

I use the macro outlined at to achieve this.

I have a 30 line ruby script in ~/bin/ that basically wraps the following call in some boilerplate code for argument parsing, recursing through a path, etc:

ooffice -invisible "macro:///Standard.MyConversions.SaveAsOOO(<filename>)"


From: Anon (Feb 11 2008, at 10:36)

Sorry, in my earlier comment I misunderstood that you were looking to do use MSOffice (OOXML gets me every time). I tried to post a correction but I seemed to hit some sort of blog posting issue...

Perhaps will help?


From: Doug (Feb 12 2008, at 04:12)

Yes, the OMPM mentioned above (on technet) will do what you want.

FYI, some more tips on using it here:

And some info on programmatic use here:


author · Dad · software · colophon · rights
picture of the day
February 10, 2008
· Technology (87 fragments)
· · XML (135 more)

By .

The opinions expressed here
are my own, and no other party
necessarily agrees with them.

A full disclosure of my
professional interests is
on the author page.