【发布时间】:2021-10-26 10:08:39
【问题描述】:
我有两个包含宏的 Excel 文件。
一个已经打开,第二个从 powershell 打开并运行宏。
现在在宏中我想切换回第一个文件:
Windows("file1.xlsm").Activate
Sheets("sheet1").Activate
不起作用 -> 运行时错误(找不到文件/窗口)。
如果我手动打开第二个文件,一切正常。
所以看起来如果第二个文件是通过 powershell 打开的,它不会“看到”已经打开的工作簿。
知道如何解决这个问题吗?
【问题讨论】:
-
他们都在同一个 Excel 会话中吗? PowerShell 不会创建一个新会话并在其中打开第二个会话吗?尝试查看 TaskManager 进程并查看您可以看到多少 Excel.exe 已处理。如果不止一个,我可以向您展示一种识别必要的方法。如果只有一个,这仅意味着没有在任何其他应用程序中创建其他工作簿...
-
@ASD 是的,PowerShell 没有打开其他文件,Excel 自己打开了。两个 Excel 实例都在单独的运行空间中运行,因此您不能简单地在文件之间切换到另一张工作表
-
没错,伙计们,我就是这么想的。它在另一个进程中打开第二个文件。那么,法恩,你的计划是什么?
-
好的。我想您知道创建的工作簿全名。对不对?
标签: excel vba powershell