Add standard excel button to custom toolbar menu
My error
Application.CommandBars("Toolbox").Controls("Workb ook Tools).Controls.Add
--
HTH
Bob Phillips
(remove nothere from email address if mailing direct)
"Gixxer_J_97" wrote in message
...
you know what the most frustrating thing is? i tried that and it gave me
an
error. apparently i missed something...
thanks Bob!
J
"Bob Phillips" wrote:
So how about
Application.CommandBars("Toolbox").Controls("Workb ook
Tools).Controls.Add
--
HTH
Bob Phillips
(remove nothere from email address if mailing direct)
"Gixxer_J_97" wrote in message
...
if i use this:
Application.CommandBars("Toolbox").Controls.Add
Type:=msoControlSplitButtonPopup, ID:=401, befo=1
it does work, however it adds the button to the top level of the
toolbar,
not to the drop-down menu "Workbook Tools"
"Gixxer_J_97" wrote:
i am, the problem i am having is adding those standard excel buttons
to
the
menu called "Workbook Tools"
"Bob Phillips" wrote:
So isn't that the commandbar you should use?
--
HTH
Bob Phillips
(remove nothere from email address if mailing direct)
"Gixxer_J_97" wrote in
message
...
if you mean that if 'activeMenu' contains the string value
"Toolbox", then
looking in to toolbars menu you will see 'Toolbox' there, then
yes.
"Bob Phillips" wrote:
Isn't your menu called by whatever value activeMenu holds?
--
HTH
Bob Phillips
(remove nothere from email address if mailing direct)
"Gixxer_J_97" wrote in
message
...
Hi all,
i have the following code that creates my custom toolbar.
I would like to add some standard toolbar buttons to it, but
am
having
problems,
The buttons i want to add a
Save
Print Preview
Print
Zoom
Center
Borders
Fill Color
Font Color
I tried to record a macro adding the buttons i wanted, but
it
gave me
code
like:
Application.CommandBars("Custom Popup 942187").Controls.Add
Type:=msoControlSplitButtonPopup, ID:=401, befo=1
and this never worked when the code was run again - i'm
thinking
that
"Custom Popup 942187" is a temporary ID for the target menu.
I was thinking I could add these buttons to the "Workbook
Tools"
menu
in
the
With MenuItm
If Arr0(i) = "Wor&kbook Tools" Then
'.Type = Arr2(i)(j)
'.ID = Arr4(i)(j)
'.Style = Arr2(i)(j)
.FaceId = Arr4(i)(j)
Else
section - however when i try to set the .type and .id, i get
a
'cannot
set
a
read only property' error.
any thoughts?
tia
J
Here is my code:
Public Sub CreateToolbar()
' create the custom toolbar for this application
' Arr0 contains the names of the buttons created
' Arr1 contains the tooltip text for the buttons in Arr0
' Arr0 - Arr5 must be the same dimensions 1xY
' Arr2 contains an array of arrays with the names of the
submenu
items
' Arr2 - Arr5 are accessed by Arr#(i)(j), where # is 2-4
and
i is
the
ith element in
' Arr2 and j is the jth element in the inner array.
' Arr3 contains the names of the macros that the
corresponding
elements
in Arr2 will
' refer to.
' Arr4 contains the FaceId of each element in Arr2 (ie
the
button
image)
' Arr5 contains the tags of the buttons, used to
determine
which
one
was
called (in lieu of passing arguments)
' Pre-dimension all variables that will be used
Dim CBAR As CommandBar
Dim NewMenu As CommandBarControl, MenuItm As
CommandBarButton,
SubMenuItm As CommandBarControl
Dim Arr0 As Variant, Arr1 As Variant, Arr2 As Variant,
Arr3
As
Variant,
Arr4 As Variant, Arr5 As Variant, Arr6 As Variant
Dim i As Integer, j As Integer, widths As Integer
Dim MenuName As String
' Define the menu name - flexibility to change the name
only
in
one
spot
' activeMenu defined in CONSTANTS
MenuName = activeMenu
' If the toolbar exists, delete it and create it new.
' Used to prevent duplicates and erors
On Error Resume Next
Application.CommandBars(MenuName).Delete
On Error GoTo 0
' Global name defined in 'Constants' - used for
extensability in
the
future
' if further menus are needed (ie to turn on/off -
delete
the
'active'
menu
' set the widths of the menus - keeps them uniform
widths = 100
Call TurnOffUpdates(True)
' Define the arrays that will be used to create the
custom
toolbar
' to add an element, add an entry in each of the arrays
below
' make sure that the inserted elements are all inserted
in
their
' corresponding slots. ie to add a new menu at position
0
' make sure that it is the first element in Arr0-Arr5
' Arr0 - the Display name of the top level menu
' Arr1 - the tooltip text of the top level menu
' Arr2 - the Display name of the sub-menu items
' Arr3 - the name of the macro that will be called
' Arr4 - the integer value of the FaceId button that
will be
used
' Arr5 - the tags of the button used to switch pages
Arr0 = Array("O&rder Tools", "&Ledger Tools", "&Customer
Tools",
"I&nventory Tools", "&Accountant Tools", "&Summary",
"Chan&ge
Sheet",
"Hel&p", "Wor&kbook Tools")
Arr1 = Array("Tools for Order Management.", "Tools for
Ledger
Management.", "Tools for Customer Management.", "Tools for
Inventory
Management.", "Tools for Accountant Documents.", "Summary
worksheet.",
"Change the current document being viewed.", "Get Help!",
"Tools
for
formatting the workbook")
Arr2 = Array(Array("Save Order", "Open Order", "Cancel
Order", "",
"Check Order", "", "Reset Order", "", "Print..", "Publish
Documents",
"",
"View Order"), _
Array("Make Withdrawl", "Make Deposit", "", "Reset
Ledger
Filters",
"", "Check Overdue Invoices", "", "Print...", "", "View
Withdrawls",
"View
Deposits"), _
Array("Add Customer", "Edit Customer", "", "Remove
Customer",
"",
"View Customers", "", "View Customer Orders", "View Sales
Journal",
"",
"Fill
Sales Journal", "Fix Links"), _
Array("Add/Edit Product Line", "Remove Product
Line",
"",
"Refresh
Inventory", "Refresh Inventory Costs", "", "Reset Filter
Ranges", "",
"View
Inventory", "View Inventory Costs"), _
Array("Print Documents..", "E-Mail Documents"), _
Array("Refresh Top Customers/Products", "", "View
Summary"), _
Array("View Order", "View Withdrawls", "View
Deposits",
"View
Inventory", "View Inventory Costs", "View Customer Orders",
"View
Sales
Journal", "View Master Price List", "View Wholesale Price
List",
"View
Customers", "View Summary", "View Data Sheet", "", "View
Options"), _
Array("General Help", "Error Code Help"), _
Array(msoControlButton, msoControlButton,
msoControlButton,
msoControlComboBox, msoControlButton,
msoControlSplitButtonPopup,
msoControlSplitButtonPopup, msoControlSplitButtonPopup))
Arr3 = Array(Array("SaveOrder", "OpenOrder",
"CancelOrder",
"",
"CheckOrder", "", "ResetOrder", "", "PrintDocuments",
"PublishDocuments",
"",
"SwitchOut"), _
Array("MakeWithdrawl", "MakeDeposit", "",
"resetLedgerFilterRanges",
"", "CheckOverdueInvoice", "", "PrintDocuments", "",
"SwitchOut",
"SwitchOut"), _
Array("AddCustomer", "EditCustomer", "",
"RemoveCustomer", "",
"SwitchOut", "", "SwitchOut", "SwitchOut", "",
"FillSalesJournal",
"FixLinks"), _
Array("AddProductLine", "RemoveProductLine", "",
"RefreshInventory2", "refreshInventoryCosts", "",
"resetOrderFilterRanges",
"", "SwitchOut", "SwitchOut"), _
Array("PrintDocuments", "EmailDocuments"), _
Array("refreshSummaryPivotTables", "", "SwitchOut"),
_
Array("SwitchOut", "SwitchOut", "SwitchOut",
"SwitchOut",
"SwitchOut", "SwitchOut", "SwitchOut", "SwitchOut",
"SwitchOut",
"SwitchOut",
"SwitchOut", "SwitchOut", "", "SetOptions"), _
Array("HelpGeneral", "HelpErrorCodes"))
Arr4 = Array(Array(271, 270, 1592, 1, 1100, 1, 2010, 1,
4,
610, 1,
2174), _
Array(368, 369, 1, 2010, 1, 1100, 1, 4, 1, 2174,
2174),
_
Array(3199, 3203, 1, 1671, 1, 2174, 1, 2174, 2174,
1,
2010,
1100),
_
Array(743, 1019, 1, 2010, 2010, 1, 2010, 1, 2174,
2174),
_
Array(4, 24), _
|