如果一个文件是打开的文件前面
尝试打开工作簿文件时出现以下错误。
The process cannot access the file '.. File.xls' because it is being used by another process
。
而不是再次打开文件,如果该文件已经打开,我该如何把这个工作簿。
从OP的评论复制:
Excel应用程序在前面。 事情是,我以编程方式打开了一个WorkBook,来到前面。 现在我在旧的工作簿上做了一些工作,再次点击button打开已经打开的工作簿。 现在开放以来,给我例外。 所以,我不想让那张旧的纸张出现。
这是一个两步解决scheme
- 你必须先find当前正在使用该文件的进程
- 然后,一旦你有ProcessId,你必须使用Win32 API 把它带到前面
如果你正在使用excel-interop,那么你所需要做的就是把你的excel应用程序的实例设置为true。 例如
excelApp.Visible = true;
即使这个价值已经是真的,这也会使它走到前面。