Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 6
Default Add msocontrolbutton to commandbar problem

I'm trying to add a controlbutton to the popup menu when you right click a
worksheet.
I've got the following sub working when I run it from one worksheet but when
I put it into another one (a template) it doesn't work and I get an "Invalid
procedure call or argument" error. When I debug it in the first sheet the
value for msoControlButton = 1, but when in the template it is empty.

Sub add_menu_item()
delete_menu_item
With Application.CommandBars("Cell").Controls
With .Add(msoControlButton)
.Caption = "My Item"
.OnAction = "my_macro"
End With
End With
End Sub

Private Sub my_macro()
MsgBox ("Hello")
End Sub


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,236
Default Add msocontrolbutton to commandbar problem

Do you see the item on the context menu when you right-click?

If it's having trouble with msoControlButton then check the Reference:
Tools | References | Microsoft Office 11.0 Object Library
(your version might differ)


Here is the code I might use:

Sub test()
Const cCaption = "My Item"
Dim ctl As CommandBarControl

With Application.CommandBars("Cell")
'Delete existing
For Each ctl In .Controls
If ctl.Caption = cCaption Then
ctl.Delete
Exit For
End If
Next

With .Controls.Add(Type:=msoControlButton)
.Caption = cCaption
.OnAction = ThisWorkbook.Name & "!my_macro"
End With
End With

End Sub

Public Sub my_macro()
MsgBox ("Hello")
End Sub



--
Rob van Gelder - http://www.vangelder.co.nz/excel


"Ricky S" wrote in message
...
I'm trying to add a controlbutton to the popup menu when you right click a
worksheet.
I've got the following sub working when I run it from one worksheet but
when
I put it into another one (a template) it doesn't work and I get an
"Invalid
procedure call or argument" error. When I debug it in the first sheet the
value for msoControlButton = 1, but when in the template it is empty.

Sub add_menu_item()
delete_menu_item
With Application.CommandBars("Cell").Controls
With .Add(msoControlButton)
.Caption = "My Item"
.OnAction = "my_macro"
End With
End With
End Sub

Private Sub my_macro()
MsgBox ("Hello")
End Sub




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to increase size of image in button (msocontrolbutton) of custom toolbar of Excel padam Excel Discussion (Misc queries) 0 August 11th 06 07:18 PM
commandbar - rollout problem tango Excel Programming 1 October 25th 04 01:09 PM
XL2003 VBA Add msoControlButton BUG or Feature? rormeister Excel Programming 2 September 2nd 04 07:36 PM
Office C# code behin : CommandBar Class Problem ? cybertof Excel Programming 1 February 23rd 04 01:04 AM
commandbar Greg Prost[_2_] Excel Programming 2 November 21st 03 11:42 AM


All times are GMT +1. The time now is 05:43 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"