我想打开一个工作簿(WB1),然后在打开时打开另一个工作簿(WB2)。我想隐藏WB2。
Private Sub Workbook_Open()
Application.ScreenUpdating = False
Workbooks.Open Filename:="C:\WB2.xlsm"
ActiveWindow.Visible = False
End Sub
这是我到目前为止所做的,它的作用是隐藏两个工作簿。我希望WB1保持在顶部并且可见。
谢谢!约什
答案 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设置为可见。这样可以避免在不知情的情况下在后台耗尽所有内存!
干杯。