How do you change the Worksheet Menu Bar "icon"?

J

James.Barnett.Jr

Hello all,

I can't believe no one has needed to do this, but I googled high and
low and didn't find an answer.

I want to change the icon of the Worksheet Menu Bar in Excel. The
subject has "icon" in quotes because I dropped into win32, found the
HWND of the Worksheet Menu Bar, and did a SendMessage ... WM_SETICON
.... and the icon didn't change, so I am not sure it is the icon of the
menu bar (perhaps the WM_PAINT handler just draws it?).

I feel confident that this can be done, because they hinted at it in
Professional Excel Development (Bullen, Bovey, Green). Actually, it
sounded like they were going to tell you how to do it, but then they
just showed code for changing the main window icon.

Any and all help is appeciated,

Jim Barnett
Software Engineer
 
J

Jim Cone

Jim,
One way is replace the menu bar with your own custom menu bar.
Regards,
Jim Cone
San Francisco, USA
http://www.realezsites.com/bus/primitivesoftware

'--------------------
Sub MakeDuplicateWorksheetMenuBar()
Dim cmdNewBar As Office.CommandBar
Dim cmdCtrl As Office.CommandBarControl
Dim cmdButton As Office.CommandBarButton

'Create the new bar
Set cmdNewBar = Excel.CommandBars.Add(Name:="NewBar", _
Position:=msoBarTop, MenuBar:=False, Temporary:=True)

With cmdNewBar.Controls
' New icon
Set cmdButton = .Add(Type:=msoControlButton)
cmdButton.FaceId = 273

' Duplicate the existing controls
For Each cmdCtrl In Excel.CommandBars(1).Controls
.Add ID:=cmdCtrl.ID
Next
End With

'Hide the old bar and show the new bar
Excel.CommandBars(1).Enabled = False
cmdNewBar.RowIndex = 1
cmdNewBar.Visible = True
End Sub


Sub MakeItRight()
Excel.CommandBars("NewBar").Delete
Excel.CommandBars(1).Enabled = True
End Sub
'--------------------------------


<[email protected]>
wrote in message
Hello all,
I can't believe no one has needed to do this, but I googled high and
low and didn't find an answer.

I want to change the icon of the Worksheet Menu Bar in Excel. The
subject has "icon" in quotes because I dropped into win32, found the
HWND of the Worksheet Menu Bar, and did a SendMessage ... WM_SETICON
.... and the icon didn't change, so I am not sure it is the icon of the
menu bar (perhaps the WM_PAINT handler just draws it?).

I feel confident that this can be done, because they hinted at it in
Professional Excel Development (Bullen, Bovey, Green). Actually, it
sounded like they were going to tell you how to do it, but then they
just showed code for changing the main window icon.

Any and all help is appeciated,
Jim Barnett
Software Engineer
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top