取消隐藏Excel应用程序会话

我有一个Excel VBA方法(我没有写它)运行,它所做的第一件事之一是隐藏Excel会话Application.Visible = False

但是,该方法完成后,它不会取消隐藏Excel会话,因此它保持打开状态,并在任务pipe理器中列出,但隐藏且看似不可用。

有谁知道,没有打开VBE(所以可以访问即时窗口并运行Application.Visible = True ),如何取消隐藏此Excel会话? 目前,我只需要使用任务pipe理器来终止会话。

这不是一个大规模的交易,但我只是有兴趣,如果有人知道如何复活这样的会议。

就像我说的那样,这不是什么大事,但只要有人知道快捷键或任何东西就可以把它带回来。

没有捷径,我知道,但你可以做到这一点。

打开MS Word并将其粘贴到VBA编辑器中。 closures所有可见的打开的Excel实例,然后运行这个代码。 这将使隐藏的实例可见。 如果有更多的实例,手动closures实例并重复该过程。

 Option Explicit Sub Sample() Dim oXLApp As Object '~~> Get an existing instance of an EXCEL application object On Error Resume Next Set oXLApp = GetObject(, "Excel.Application") On Error GoTo 0 oXLApp.Visible = True Set oXLApp = Nothing End Sub 

我不是故意使用一个循环,因为隐藏的实例可以有一个工作簿,你可能想保存?

如果你愿意,你可以将上面的代码转换成VB脚本文件,你可以直接从桌面运行。

不幸的是,我无法做出所需的更改。

你到底是什么意思? VBA密码是否被保护? 如果没有,那么我的build议还是和以前一样

这是一个糟糕的编程案例。 即使我们给一个代码来closures所有隐藏的Excel实例,那也不会帮助你。 因为下次你运行这个macros时,你将再次遇到同样的问题。 为什么不编辑现有的代码并在最后添加Application.Visible = True? VBA密码是否被保护? – Siddharth Rout 28分钟前

我有一个类似的问题,并解决了代码行重新sorting。

寻找像这样的ActiveWorkbook.Close这样的行,可能是你无法取消隐藏会话的原因。

如果你能find它,就把它放在Application.Visible = True之前。

作为代码:

 sub runthis() dim xl as object set xl = new excel.application 'create session xl.workbooks.open filename:= "«yourpath»" 'open wb in the new session xl.visible=true 'this is what you need, show it up! 'rest of the code end sub 

一个好的解决scheme

打开Word,假设你有,打开VBA编辑器,然后打开立即窗口(Ctrl + G),然后input:

Getobject(, "Excel.Application").Visible = true

然后按回车。