如果一个文件是打开的,把文件放到前面

本文关键字:文件 前面 如果 一个 | 更新日期: 2023-09-27 18:04:03

打开工作簿文件时出现以下错误:

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

如果文件已经打开,我如何将该工作簿向前打开,而不是再次打开该文件。


摘自OP的注释:

Excel App在前面。问题是,我以编程方式打开了一个工作簿,来到前面。现在我在旧的工作簿上做了一些工作,再次点击按钮打开已经打开的工作簿。现在既然开了,就给我例外。因此,我想让旧的sheet页放在前面。

如果一个文件是打开的,把文件放到前面

这是一个两步解决方案

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

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

excelApp.Visible = true;

即使该值已经为true,也会把它放到前面。