Hi everyone. Thanks for the help. Norie, your easy fix did the trick.

As it turns out, the culprit was extra spaces inserted when I converted the Variant that is returned by Application.GetOpenFilename to a String with this little loop:

 For i = LBound(FileName) To UBound(FileName)
        Msg = Msg & FileName(i) & VbCrLf
    Next i
I copied this code from somewhere and I can't say I understand why one would do it this way, now that I'm looking at it. And why the carriage returns (VbCrLf) is a mystery. Removing the carriage returns also ends up with working code but Norie's simple way is best.

Thanks again.