如果一个文件是打开的文件前面

尝试打开工作簿文件时出现以下错误。

The process cannot access the file '.. File.xls' because it is being used by another process

而不是再次打开文件,如果该文件已经打开,我该如何把这个工作簿。


从OP的评论复制:

Excel应用程序在前面。 事情是,我以编程方式打开了一个WorkBook,来到前面。 现在我在旧的工作簿上做了一些工作,再次点击button打开已经打开的工作簿。 现在开放以来,给我例外。 所以,我不想让那张旧的纸张出现。

这是一个两步解决scheme

  1. 你必须先find当前正在使用该文件的进程
  2. 然后,一旦你有ProcessId,你必须使用Win32 API 把它带到前面

如果你正在使用excel-interop,那么你所需要做的就是把你的excel应用程序的实例设置为true。 例如

excelApp.Visible = true;

即使这个价值已经是真的,这也会使它走到前面。