You can call win32gui.CommDlgExtendedError() to find
the reason why it failed. If the buffer size is actually the
problem, it will return winerror.FNERR_BUFFERTOOSMALL
(12291).
win32gui.GetOpenFileNameW creates the same type of dialog,
and you can use the MaxFile argument to specify a large buffer
size if needed.
Roger