Excel VBA ActiveWindow.Visible隐藏错误的工作簿

时间:2014-02-03 21:36:07

标签: excel vba visible active-window

我想打开一个工作簿(WB1),然后在打开时打开另一个工作簿(WB2)。我想隐藏WB2。

Private Sub Workbook_Open()

Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\WB2.xlsm"
ActiveWindow.Visible = False

End Sub

这是我到目前为止所做的,它的作用是隐藏两个工作簿。我希望WB1保持在顶部并且可见。

谢谢!约什

3 个答案:

答案 0 :(得分:2)

一个重要的部分似乎是如何重新打开视图。 其他帖子就是答案..我只是在我提交之前必须看到它的工作。 希望这足以解释它,可能已经在更少的空间内完成。感谢。

我必须同意发表描述关键工作线的几个字。我只是vb&的新手不得不说99%的帖子需要一些研究来获得所需的变量。我相信这足以增加一些咒骂,因为许多人可以花费数小时,试图找到答案,但是会克制:)。

结果是:地球上的每个人都要花2到无限的时间 (感谢您拥有代码,将代码放入框中,需要对包含/空格线干扰的行进行一些调整?)。

我发现:更换可能不起作用:。可见和。隐藏   - 不知道windows(1)中的1是什么。

sub TEST1()    'in a module
'if want to happen when you open a wb, place in: "ThisWorkbook" module as:
'Private Sub Workbook_Open()    


    Dim wb As Workbook
    'Set wb = Workbooks("WB2.xlsm")      'YES
    'Set wb = Workbooks(Filename:="C:\WB2.xlsm")    'untried should work for path eg
    'Set wb = Workbooks.Open(Filename:="C:\WB2.xlsm")   'original, with a command added: open
    Application.ScreenUpdating = False

    If 0 = 0 Then   'set to: if 0 = 1 to skip test
      If wb.WINDOWS(1).Visible = False Then   'TOGGLES: press F5 or run macro button
        wb.WINDOWS(1).Visible = True
        MsgBox "Workbook is NOT Hidden" & Space(10), vbQuestion  'a good test method
      Else
        wb.WINDOWS(1).Visible = False     '<< line to use, to hide wb on open
        MsgBox "Workbook is Hidden" & Space(10), vbQuestion  'a good test method
      End If

    Else
        wb.WINDOWS(1).Visible = False     '<< line to use, to hide wb on open
    end if
End Sub

答案 1 :(得分:1)

Private Sub Workbook_Open()
    Dim wb as workbook
    Application.ScreenUpdating = False
    set wb=Workbooks.Open(Filename:="C:\WB2.xlsm")
    wb.Windows(1).Visible = False

End Sub

答案 2 :(得分:0)

这似乎是一篇过时的文章,但是我想我应该添加答案的版本,因为我正在从事类似的工作。

Set m_WB = Workbooks("WB2FilePath\WB2.xlsm")
Windows(m_WB.Name).Visible = False
'Do work
'Set WorkBook to visible
Windows(m_WB.Name).Visible = True

请记住,最好将WB2设置为可见。这样可以避免在不知情的情况下在后台耗尽所有内存!

干杯。