View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default GetOpenFileName method different in Excel

Call MS support and I am sure they will answer your question for a fee.
Unless you have some type of support agreement with microsoft, you will not
get an answer from Microsoft here. this is peer-to-peer support.
Otherwise, you can assume it is an intentional design change. <g

--
Regards,
Tom Ogilvy

wrote in message
...
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