The only way I think you could disable the button would be via the Windows API.

Why not just check to see if they have hit the cancel button and if they have reopen the window.
Do
    x = Application.GetOpenFilename
Loop Until Application.WorksheetFunction.IsText(x)