View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
[email protected] Ryan@newsgroup.nospam is offline
external usenet poster
 
Posts: 3
Default GetOpenFileName method different in Excel

The first paramater to GetOpenFileName in Excel is called FileFilter not
extension. In fact in Excel 2003 Help on GetOpenFileName for FileFilter it
says the filter is an "MS-DOS wildcard file filter specification."
Obviously, *.test.txt does work in MS-DOS. In fact, using the same control,
comdlg32.dll, that Excel's GetOpenFileName method uses outside of Excel works
just fine. It is an obvious code change in Excel but I wanted to know if it
was intentional or not.

Ryan

"Tom Ogilvy" wrote:

GetOpenFilename has always only supported filtering on an extension. In
your case, the extension is .txt. If you were able to get it to filter
..test.txt, then you were fortunate, but that isn't the advertised behavior -
so you were utilizing an undocumented capability. You use undocumented
capabilities at your own risk since they may not be supported in later
versions.

--
Regards,
Tom Ogilvy

wrote in message
...
In Excel 2000, using the GetOpenFileName method you can include a

FileFilter
(the first argument) such as *.something.extension and the dialog box

would
show those files.

Starting in Excel XP that does not work in code anymore. You can

physically
type that into the dialog box under "File name" and it will work but when

it
is set in code it will only recognize *.extension.

Is this a design change or a bug?

Sample code:
----------------
FileName = Application.GetOpenFilename("Sample Files (*.test.txt),
*.test.txt")
----------------
This will not show a file named First.test.txt in Excel XP/2003 but the

same
code will show the file in Excel 2000.

Ryan