There is already some ideas out there on this subject. Most involve trying to open the file in a seperate function and lock it as you open it, which lock would fail if you already have it open, so a returned error would indicate that it was already open.
Here is one example I found:
http://www.exceltip.com/st/Determine...Excel/444.html
This works, although it returns false for any error (like a bad path name or some such thing). You might want to make sure you account for all other errors either in this function or before you use it rather than blindly assuming that any error means that the file is already open.