找到evey打开的MS Access实例/文件

时间:2014-05-09 18:52:24

标签: vb.net vba ms-access

我在专家交流中有一个持续被忽视的问题,我很乐意最终回答。这是链接:

My Expert's Exchange question

我的目标是返回用户在任何时候打开的每个Access文件的列表。该站点包含一整套代码,用于将所有打开的Excel和Word文件检索为这些应用程序对象的数组。我已经尝试了所有我知道的解决这个问题的方法,并准备支付微软技术支持来帮助我回答这个问题,如果论坛上没有人即将回答这个问题。

1 个答案:

答案 0 :(得分:0)

通过查找正在运行的程序的实例,并使用已知的COM接口查找已打开的文件,链接Excel和Word的解决方案。

使用Access,其他东西也可以打开文件。例如,C#程序或SQL Server导入向导也可以打开文件。

一般的解决方案会相当棘手。但是,如果您可以确定文件具有usual extensions,则可以枚举系统中打开的所有文件,并返回具有适当文件扩展名的文件列表。

要枚举系统中的所有打开文件,请参阅本文中的EnumerateOpenedFiles()方法

http://www.codeproject.com/KB/shell/OpenedFileFinder.aspx?fid=422864&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=26&select=2277170

请注意,您不需要那里的所有代码,因为它提供了一个shell扩展,它将EnumerateOpenedFiles()作为其操作的一部分。您只需要一个方法,修改后只返回与所需文件扩展名匹配的文件。