ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Hiding a toolbar (https://www.excelbanter.com/excel-programming/292198-hiding-toolbar.html)

Shatin

Hiding a toolbar
 
I have a floating toolbar in a workbook. On certain worksheets where it is
not applicable, I want to hide it. I can do it without any problem with
following code:

Private Sub Worksheet_Activate()

If CommandBars("Custom Toolbar").Visible = True Then
CommandBars("Custom Toolbar").Visible = False
End If

End Sub

Since the toolbar is specific to the workbook, I also want to hide it when
another workbook is activated. So I try same code as above:

Private Sub Workbook_Deactivate()

If CommandBars("Custom Toolbar").Visible = True Then
CommandBars("Custom Toolbar").Visible = False
End If

End Sub

However this time I have a problem. The error message is
"CommandBars("Custom Toolbar")=...Object variable or with block variable not
set". I am not sure what the problem is since same code works in the the
case of worksheets.



Tom Ogilvy

Hiding a toolbar
 
Try prefacing commandbars with application

Application.CommandBars("Custom Toolbar").Visible

--
Regards,
Tom Ogilvy


"Shatin" wrote in message
...
I have a floating toolbar in a workbook. On certain worksheets where it is
not applicable, I want to hide it. I can do it without any problem with
following code:

Private Sub Worksheet_Activate()

If CommandBars("Custom Toolbar").Visible = True Then
CommandBars("Custom Toolbar").Visible = False
End If

End Sub

Since the toolbar is specific to the workbook, I also want to hide it when
another workbook is activated. So I try same code as above:

Private Sub Workbook_Deactivate()

If CommandBars("Custom Toolbar").Visible = True Then
CommandBars("Custom Toolbar").Visible = False
End If

End Sub

However this time I have a problem. The error message is
"CommandBars("Custom Toolbar")=...Object variable or with block variable

not
set". I am not sure what the problem is since same code works in the the
case of worksheets.





Shatin

Hiding a toolbar
 
Thanks, Tom. The magic word "application" does solve my problem although I
am not sure why.

Then an unexpected problem. When I close the workbook, there's a
workbook_close event to kill the toolbar. Since the toolbar has been killed,
the workbook_deactivate event cannot hide it, giving rise to an error. After
some thought, the problem is solved by having "On error goto Error_handler"
in the workbook_deactivate code. The Error_handler simply tells Excel to
exit sub. I tried to have simply "On error exit sub" but VBA didn't like it.

"Tom Ogilvy" wrote in message
...
Try prefacing commandbars with application

Application.CommandBars("Custom Toolbar").Visible

--
Regards,
Tom Ogilvy


"Shatin" wrote in message
...
I have a floating toolbar in a workbook. On certain worksheets where it

is
not applicable, I want to hide it. I can do it without any problem with
following code:

Private Sub Worksheet_Activate()

If CommandBars("Custom Toolbar").Visible = True Then
CommandBars("Custom Toolbar").Visible = False
End If

End Sub

Since the toolbar is specific to the workbook, I also want to hide it

when
another workbook is activated. So I try same code as above:

Private Sub Workbook_Deactivate()

If CommandBars("Custom Toolbar").Visible = True Then
CommandBars("Custom Toolbar").Visible = False
End If

End Sub

However this time I have a problem. The error message is
"CommandBars("Custom Toolbar")=...Object variable or with block variable

not
set". I am not sure what the problem is since same code works in the the
case of worksheets.







Robert Rosenberg[_2_]

Hiding a toolbar
 
You can test for the existence of the commandbar but I'd go with your easier
Error Handler method.
--
_______________________
Robert Rosenberg
R-COR Consulting Services
Microsoft MVP - Excel
http://www.r-cor.com


"Shatin" wrote in message
...
Thanks, Tom. The magic word "application" does solve my problem although I
am not sure why.

Then an unexpected problem. When I close the workbook, there's a
workbook_close event to kill the toolbar. Since the toolbar has been

killed,
the workbook_deactivate event cannot hide it, giving rise to an error.

After
some thought, the problem is solved by having "On error goto

Error_handler"
in the workbook_deactivate code. The Error_handler simply tells Excel to
exit sub. I tried to have simply "On error exit sub" but VBA didn't like

it.

"Tom Ogilvy" wrote in message
...
Try prefacing commandbars with application

Application.CommandBars("Custom Toolbar").Visible

--
Regards,
Tom Ogilvy


"Shatin" wrote in message
...
I have a floating toolbar in a workbook. On certain worksheets where

it
is
not applicable, I want to hide it. I can do it without any problem

with
following code:

Private Sub Worksheet_Activate()

If CommandBars("Custom Toolbar").Visible = True Then
CommandBars("Custom Toolbar").Visible = False
End If

End Sub

Since the toolbar is specific to the workbook, I also want to hide it

when
another workbook is activated. So I try same code as above:

Private Sub Workbook_Deactivate()

If CommandBars("Custom Toolbar").Visible = True Then
CommandBars("Custom Toolbar").Visible = False
End If

End Sub

However this time I have a problem. The error message is
"CommandBars("Custom Toolbar")=...Object variable or with block

variable
not
set". I am not sure what the problem is since same code works in the

the
case of worksheets.










All times are GMT +1. The time now is 09:21 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com