ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Toolbar troubles (https://www.excelbanter.com/excel-programming/388703-toolbar-troubles.html)

brownti via OfficeKB.com

Toolbar troubles
 
I have some code that creates two toolbars when a template workbook is opened.

These tools bars do various things in the workbook, and then when i close
that workbook the toolbars are deleted using the sub beforeclose. however if
i have more than one workbook open that uses the code and i close one of them,

it deletes the toolbars and i cant use them in the still open workbook. i
tried just not deleting the toolsbars at close, but they stay linked to the
workbook that created them rather than acting on the open workbook. The code
that creates them is very long, so i wont post it all but here is the
begining where some of it is created:
Private Sub Workbook_Open()
LOADING.Show vbModeless
LOADING.Repaint
Dim DScb As CommandBar
Dim add_door As CommandBarButton
Dim oak As CommandBarButton
Dim raw As CommandBarButton
Dim maple As CommandBarButton
Dim pine As CommandBarButton
Dim alder As CommandBarButton
Dim cherry As CommandBarButton
Dim hrdwToolBar As String

hrdwToolBar = "Hardware"

Set CustomToolBar = Application.CommandBars.Add(Name:=hrdwToolBar,
Position:=msoBarTop)
CustomToolBar.Visible = True

Set HARDWARE = CustomToolBar.Controls.Add(Type:=msoControlPopup)
HARDWARE.Caption = "Hardware"

Set mouldings = CustomToolBar.Controls.Add(Type:=msoControlPopup)
mouldings.Caption = "Mouldings"

Set stairparts = CustomToolBar.Controls.Add(Type:=msoControlPopup)
stairparts.Caption = "Stair Parts"

With stairparts.Controls
Set newel = .Add(Type:=msoControlPopup)
newel.Caption = "Newels"
Set balusters = .Add(Type:=msoControlPopup)
balusters.Caption = "Balusters"
Set rails = .Add(Type:=msoControlPopup)
rails.Caption = "Rails"
End With

With rails.Controls
Set sch6005 = .Add(Type:=msoControlButton)
sch6005.Caption = "SCH-6005"
End With

With sch6005
.OnAction = "rail_run"
.Tag = "sch6005"
End With

Could the problem be with how the toolbars are created? Is there a better
way to create them once not on opening of workbook, but just create them and
then they will run the appropriate macros in the activeworkbook? Any
thoughts? Sorry if this is confusing.

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...mming/200705/1


FSt1

Toolbar troubles
 
hi,
the way the toolbars are created I don't think is the problem.
in your post you said that the tool bars are DELETED using the beforeclose
sub. I suspect that imay be your problem.
but i am confused. you said in your post that more than one file uses the
code and if your have 2 files open and close one the toolbars are deleted.
does that mean closing any file deletes the toolbars or just the file with
the code in it.
and if more that one file uses the toolbars, i would consider putting the
code in a personal workbook and run the code from a costom menu item or icon
as needed.
my thoughts.
Regards
FSt1

"brownti via OfficeKB.com" wrote:

I have some code that creates two toolbars when a template workbook is opened.

These tools bars do various things in the workbook, and then when i close
that workbook the toolbars are deleted using the sub beforeclose. however if
i have more than one workbook open that uses the code and i close one of them,

it deletes the toolbars and i cant use them in the still open workbook. i
tried just not deleting the toolsbars at close, but they stay linked to the
workbook that created them rather than acting on the open workbook. The code
that creates them is very long, so i wont post it all but here is the
begining where some of it is created:
Private Sub Workbook_Open()
LOADING.Show vbModeless
LOADING.Repaint
Dim DScb As CommandBar
Dim add_door As CommandBarButton
Dim oak As CommandBarButton
Dim raw As CommandBarButton
Dim maple As CommandBarButton
Dim pine As CommandBarButton
Dim alder As CommandBarButton
Dim cherry As CommandBarButton
Dim hrdwToolBar As String

hrdwToolBar = "Hardware"

Set CustomToolBar = Application.CommandBars.Add(Name:=hrdwToolBar,
Position:=msoBarTop)
CustomToolBar.Visible = True

Set HARDWARE = CustomToolBar.Controls.Add(Type:=msoControlPopup)
HARDWARE.Caption = "Hardware"

Set mouldings = CustomToolBar.Controls.Add(Type:=msoControlPopup)
mouldings.Caption = "Mouldings"

Set stairparts = CustomToolBar.Controls.Add(Type:=msoControlPopup)
stairparts.Caption = "Stair Parts"

With stairparts.Controls
Set newel = .Add(Type:=msoControlPopup)
newel.Caption = "Newels"
Set balusters = .Add(Type:=msoControlPopup)
balusters.Caption = "Balusters"
Set rails = .Add(Type:=msoControlPopup)
rails.Caption = "Rails"
End With

With rails.Controls
Set sch6005 = .Add(Type:=msoControlButton)
sch6005.Caption = "SCH-6005"
End With

With sch6005
.OnAction = "rail_run"
.Tag = "sch6005"
End With

Could the problem be with how the toolbars are created? Is there a better
way to create them once not on opening of workbook, but just create them and
then they will run the appropriate macros in the activeworkbook? Any
thoughts? Sorry if this is confusing.

--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...mming/200705/1



brownti via OfficeKB.com

Toolbar troubles
 
i got it to work out by using the activate and deactivate subs.


FSt1 wrote:
hi,
the way the toolbars are created I don't think is the problem.
in your post you said that the tool bars are DELETED using the beforeclose
sub. I suspect that imay be your problem.
but i am confused. you said in your post that more than one file uses the
code and if your have 2 files open and close one the toolbars are deleted.
does that mean closing any file deletes the toolbars or just the file with
the code in it.
and if more that one file uses the toolbars, i would consider putting the
code in a personal workbook and run the code from a costom menu item or icon
as needed.
my thoughts.
Regards
FSt1

I have some code that creates two toolbars when a template workbook is opened.

[quoted text clipped - 58 lines]
then they will run the appropriate macros in the activeworkbook? Any
thoughts? Sorry if this is confusing.


--
Message posted via OfficeKB.com
http://www.officekb.com/Uwe/Forums.a...mming/200705/1



All times are GMT +1. The time now is 09:19 AM.

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