Its been a few years since I posted on this group due to taking an active
interest in the .net evolution and programming with the same but its good to
be back in familiar territory.
I'm always loth to divulge information on accessing windows commands due to
the security risks that such information might pose with earlier versions of
Access in the wrong hands.
Since both GetOpenFileName() and its particular use as a reliable way of
invoking a file open/save dialog in Access are documented on MSDN I
hardly feel I'm divulging anything. See e.g.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnima01/html/ima1101.asp
There are a few general articles for use of common controls and the such
like but I believe Access is a well enough designed application not to need
access to windows.
If you can point to a reliably portable and redistributable way of
invoking the common dialogs from Access VBA that does not use API calls
I'd be happy to use it.
Most IT and system managers would also agree with the above statement and in
fact I have had many heated rows in my early development days over this
subject.
I have never spoken to most IT and system managers so I can only guess
at their views on your statement. Most Access developers, I suspect,
consider that Access is as much a development environment rather than an
application, and that it should have access to whatever APIs are needed
to deliver the required functionaity.
I would suggest that if at all possible please remain within Access. After
all it is this sort of programming functionality that led to the VBA
lockdown options being introduced.
I can't conceive why it should be worse to call API functions from VBA
than from any other unmanaged code.