You'd still want to cycle through all the workbooks:
Option Explicit
Sub auto_open()
Dim i As Long
Dim wb As Workbook
Dim myWindow As Window
For i = 1 To Workbooks.Count
Set wb = Workbooks(i&)
If InStr(1, wb.Name, "personal.xls", vbTextCompare) > 0 _
Or InStr(1, wb.Name, "custom.xls", vbTextCompare) > 0 Then
For Each myWindow In wb.Windows
myWindow.Visible = False
Next myWindow
End If
Next i
End Sub
Allen_N wrote:
>
> Nope. debugging reveals that ActiveWorkbook is Nothing.
>
> "Dave Peterson" wrote:
>
> > This may get you over the hump:
> >
> > Dim wkbk As Workbook
> > Dim myWindow As Window
> > Set wkbk = ActiveWorkbook
> > For Each myWindow In wkbk.Windows
> > myWindow.Visible = False
> > Next myWindow
> >
> >
> >
> > Allen_N wrote:
> > >
> > > Thanks, Bob.
> > >
> > > Now I'm trying:
> > >
> > > Windows(wb.Name).Visible = False
> > >
> > > but I still get "Object doesn't support this property or method".
> > >
> > > I confirmed that wb.Name = "PERSONAL.XLS".
> > >
> > > "Bob Flanagan" wrote:
> > >
> > > > Instead of wb.visible = false, you want to hide the window:
> > > >
> > > > Windows(ThisWorkbook.Name).Visible = False
> > > >
> > > > Bob Flanagan
> > > > Macro Systems
> > > > http://www.add-ins.com
> > > > Productivity add-ins and downloadable books on VB macros for Excel
> > > >
> > > >
> > > > "Allen_N" <(E-Mail Removed)> wrote in message
> > > > news:66A406C6-71B0-4D26-BD4C-(E-Mail Removed)...
> > > > > I'm trying to hide the workbook that contains my macro library. This used
> > > > > to
> > > > > work, but has suddenly failed in 2 ways: the line "wb.Visible = False"
> > > > > produces the error "Object doesn't support this property or method" and
> > > > > the
> > > > > error is not trapped.
> > > > >
> > > > > Sub auto_open()
> > > > >
> > > > > Dim i&, wb
> > > > >
> > > > > For i& = 1 To Workbooks.Count
> > > > > Set wb = Workbooks(i&)
> > > > > If InStr(UCase$(wb.Name), "PERSONAL.XLS") Then GoSub HideWB
> > > > > If InStr(UCase$(wb.Name), "CUSTOM.XLS") Then GoSub HideWB
> > > > > Next i&
> > > > >
> > > > > Exit Sub
> > > > >
> > > > > HideWB:
> > > > >
> > > > > On Error GoTo SkipHide
> > > > > wb.Visible = False
> > > > > SkipHide:
> > > > > On Error GoTo 0
> > > > > Return
> > > > >
> > > > > End Sub
> > > > >
> > > > > What could be going wrong?
> > > > >
> > > >
> > > >
> > > >
> >
> > --
> >
> > Dave Peterson
> >
--
Dave Peterson