为什么会出现其他excel窗口

为什么会出现其他excel窗口,excel,vba,Excel,Vba,场景 我正在使用一个宏,通过该宏,我可以使用Application.Visible=False隐藏工作簿。我还使用Application.Visible=True取消隐藏工作簿。在某些情况下,我使用Windows(thishworkbook.Name).Visible=False和Windows(thishworkbook.Name).Visible=True仅隐藏和取消隐藏包含宏的工作簿 问题 我注意到在这些操作中,除了工作簿之外,还会出现一些额外的excel窗口(没有任何工作簿)。请看下面的

场景

我正在使用一个宏,通过该宏,我可以使用
Application.Visible=False
隐藏工作簿。我还使用
Application.Visible=True
取消隐藏工作簿。在某些情况下,我使用
Windows(thishworkbook.Name).Visible=False和
Windows(thishworkbook.Name).Visible=True
仅隐藏和取消隐藏包含宏的工作簿

问题

我注意到在这些操作中,除了工作簿之外,还会出现一些额外的excel窗口(没有任何工作簿)。请看下面的图片。您可以看到后面有一个灰色窗口,窗口名为
Excel
。这就是我说的窗户


如果我关闭该窗口,整个excel将关闭。有人知道为什么会出现这个额外的窗口以及如何防止它出现吗?

我不确定这是否能满足您特定情况的需要。但是,如果在代码开头保留
Application.Visible=False
,并将
Application.Visible=True
更改为
Application.Windows(thishworkbook.Name).Visible=True
结尾处。这对我很有用。

隐藏Excel 使用以下代码

Sub AppVisibleTrue
  Application.Visible = True
End Sub
Sub AppVisibleFalse
  Application.Visible = False
End Sub
您正在显示或“隐藏”整个excel应用程序,因此必须在同一代码中“取消隐藏”该应用程序,否则您将无法使用隐藏后打开的文件,例如,在VBE中打开新工作簿添加新模块并将上述代码粘贴到模块中。现在,留在VBE中!!!运行“False”子项。您将注意到Excel已“消失”,但您仍然可以在任务管理器的流程中找到它。现在运行“True”子项。Excel已“重新显示”

以下过程将使Excel“消失”。关闭它的唯一方法是通过任务管理器。如果你对此不太熟悉,相信我的话。 关闭VBE。现在运行“False”子项。Excel已“消失”

总而言之,这显然是代码中的一个错误,因此我建议,如果要显示一个不是“ThisWorkbook”的窗口(工作表),并且要从一个窗口跳到另一个窗口,那么应该声明一个变量

Const strSheet as String = "Sheet2"
Dim oSheet as Worksheet
'...
Set oSheet = ActiveWorkbook.Worksheets(strSheet)
现在,您可以使用
oSheet
随心所欲

尝试在代码中丢失活动选择和类似方法


如果您将代码提供给实际场景,则可以更好地评估问题。

额外的Excel窗口可能与您的Windows资源管理器相关。如果您正在预览文档(本例中为Excel文档),则查看该文档的应用程序将在后台运行


在这种情况下,强制应用程序可见也会使背景“预览”窗口可见。

我正在尝试这种方法,但在我的情况下,它不起作用。我会进一步检查,我想隐藏应用程序,让它看起来更完整,就像一个软件,而不是在后台看到excel。这是一个足够的理由。嗯,我仍然认为你应该上传全部代码,以便有人可以在他/她的计算机上重新创建场景并进行进一步调查。这是一大堆代码调用了这么多子例程和模块。很难在这里粘贴所有这些代码。但我相信有些人以前已经遇到过这个问题。所以我希望他们能给我一些启示你知道如何隐藏那些窗口吗?@Anu:我总是手动关闭,因为我不经常使用隐藏的应用程序。当我遇到这个问题时,我让应用程序可见,以检查隐藏运行的代码中的bug(无休止的循环)。不知道如何以编程方式修复它。