I have a VB6 program that controls (automates?) excel. As with any decent program, it has to open some files, depending on the user's criteria (or mood)

I found at least three different ways to present a File Dialog Box

1. VB6 Common dialog control
2. Excel's GetOpenFileName method
3. Office XP's FileDialog object and its properties and methods

All three have a similar look and feel, however there are some subtle differences when coding for them. e.g. GetOpenFileName has no InitDir parameter (but you can
set a DefaultFilePath before calling the method!)

These differences are a constant source of frustration (anger?)

Questions:

Is anybody aware of a document comparing these different presentations?
Has anybody any recommendations for using which one, when ?