我在专家交流中有一个持续被忽视的问题,我很乐意最终回答。这是链接:
我的目标是返回用户在任何时候打开的每个Access文件的列表。该站点包含一整套代码,用于将所有打开的Excel和Word文件检索为这些应用程序对象的数组。我已经尝试了所有我知道的解决这个问题的方法,并准备支付微软技术支持来帮助我回答这个问题,如果论坛上没有人即将回答这个问题。
答案 0 :(得分:0)
通过查找正在运行的程序的实例,并使用已知的COM接口查找已打开的文件,链接Excel和Word的解决方案。
使用Access,其他东西也可以打开文件。例如,C#程序或SQL Server导入向导也可以打开文件。
一般的解决方案会相当棘手。但是,如果您可以确定文件具有usual extensions,则可以枚举系统中打开的所有文件,并返回具有适当文件扩展名的文件列表。
要枚举系统中的所有打开文件,请参阅本文中的EnumerateOpenedFiles()方法
请注意,您不需要那里的所有代码,因为它提供了一个shell扩展,它将EnumerateOpenedFiles()作为其操作的一部分。您只需要一个方法,修改后只返回与所需文件扩展名匹配的文件。