Mike,
I'm not sure if there is another way, but my guess is that if you try to open a document that is already loaded it will generate an error. Right? If this is the case, maybe you could just use the Try... Catch... block to trap the error and re-open the file as read only in the Finally... section.
Hope this works for you.
Martin
Shit happens!!!