取消隐藏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
然后按回车。