Ms office 如何强制写入/删除其他用户远程打开的文件?

Ms office 如何强制写入/删除其他用户远程打开的文件?,ms-office,Ms Office,我正在编写一个进程,该进程在文件共享中生成一些报告,其他用户可以打开这些报告进行读取(例如,csv文件)。如果在我向其中添加内容时打开了一个报告(在excel中),我会收到一个错误“该进程无法访问文件“[…]”,因为它正被另一个进程使用” 作为替代方案,我可以阻止其他用户从输出位置访问这些报告,并在他们将有权访问的目录上安排一个副本,但该副本将具有相同的结果,因为当他们在该目录中打开文件时,仍然无法进行文件副本 我无法关闭文件上有句柄的进程,因为它位于任何其他计算机上。文件甚至不在运行进程的计算

我正在编写一个进程,该进程在文件共享中生成一些报告,其他用户可以打开这些报告进行读取(例如,csv文件)。如果在我向其中添加内容时打开了一个报告(在excel中),我会收到一个错误“该进程无法访问文件“[…]”,因为它正被另一个进程使用”

作为替代方案,我可以阻止其他用户从输出位置访问这些报告,并在他们将有权访问的目录上安排一个副本,但该副本将具有相同的结果,因为当他们在该目录中打开文件时,仍然无法进行文件副本

我无法关闭文件上有句柄的进程,因为它位于任何其他计算机上。文件甚至不在运行进程的计算机上,而是远程文件共享


这似乎是一种常见的情况,但我能找出如何复制/写入文件的唯一方法是等待其他用户关闭该文件,这在我的情况下是不可接受的。

可能不是一个选项,但您能通过内部web服务器提供报告吗?这将防止可怕的“文件正在使用”问题。

可能不是一个选项,但您可以通过内部web服务器提供报告吗?这将防止可怕的“正在使用的文件”问题。

一个选项是安排副本,如果失败,他们将重新安排未来的时间。如果您的流程是长期的(例如,作为服务运行),您可以在应用程序中保持文件的打开状态,并强制Excel以只读方式打开文件(我没有实际测试过)。一个选项是安排副本,如果失败,他们会重新安排以后的时间。如果您的流程是长期的(例如,作为服务运行),则您可以在应用程序中保持文件的打开状态,并强制Excel以只读方式打开文件(我实际上还没有对此进行测试)。