ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Custom Toolbar Icons Ugly in Excel 2007 (https://www.excelbanter.com/excel-programming/396577-custom-toolbar-icons-ugly-excel-2007-a.html)

Greg Lovern

Custom Toolbar Icons Ugly in Excel 2007
 
I have a custom toolbar icon that looked fine in Excel 2003 but now
looks ugly in Excel 2007. We want it to work in both Excel 2007 and
Excel 2003, so I can't just make a custom Excel 2007 Ribbon tab.

I'm trying it two different ways in Excel 2007, and getting the same
results both ways:

First way:

Dim cbc As Object 'CommandBarControl
Set cbc = cb.Controls.Add(msoControlButton)
cbc.BeginGroup = True
cbc.Caption = "My Icon"
cbc.FaceId = 176
cbc.Style = msoButtonIcon
'Toolbar must be hidden while icon is replaced:
cb.Visible = False
shIcons.Shapes("16x16x256").Copy 'shIcons is a worksheet.
cbc.PasteFace
cb.Visible = True

Second Way:
(Thanks to KeepITCool's posts here)

Dim oMask As stdole.StdPicture
Dim cbc As Object 'CommandBarControl
Set cbc = cb.Controls.Add(msoControlButton)
cbc.BeginGroup = True
cbc.Caption = "My Icon"
cbc.FaceId = 176
cbc.Style = msoButtonIcon
'Toolbar must be hidden while icon is replaced:
cb.Visible = False
shIcons.Shapes("16x16x256_mask").CopyPicture xlScreen, xlBitmap
cbc.PasteFace
Set oMask = CallByName(cbc, "Picture", VbGet)
shIcons.Shapes("16x16x256").CopyPicture xlScreen, xlBitmap
cbc.PasteFace
CallByName cbc, "Mask", VbLet, oMask
cb.Visible = True


The second way looks better in Excel 2003, but both ways look very bad
in Excel 2007.

Any suggestions?


Thanks,

Greg


PJ

Custom Toolbar Icons Ugly in Excel 2007
 
Sorry Greg, I do not have an answer for your post. I have a similar question
that is why I am adding it to your thread. I am looking for a way to add
customer icons to the toolbar. Do you know of a way?

"Greg Lovern" wrote:

I have a custom toolbar icon that looked fine in Excel 2003 but now
looks ugly in Excel 2007. We want it to work in both Excel 2007 and
Excel 2003, so I can't just make a custom Excel 2007 Ribbon tab.

I'm trying it two different ways in Excel 2007, and getting the same
results both ways:

First way:

Dim cbc As Object 'CommandBarControl
Set cbc = cb.Controls.Add(msoControlButton)
cbc.BeginGroup = True
cbc.Caption = "My Icon"
cbc.FaceId = 176
cbc.Style = msoButtonIcon
'Toolbar must be hidden while icon is replaced:
cb.Visible = False
shIcons.Shapes("16x16x256").Copy 'shIcons is a worksheet.
cbc.PasteFace
cb.Visible = True

Second Way:
(Thanks to KeepITCool's posts here)

Dim oMask As stdole.StdPicture
Dim cbc As Object 'CommandBarControl
Set cbc = cb.Controls.Add(msoControlButton)
cbc.BeginGroup = True
cbc.Caption = "My Icon"
cbc.FaceId = 176
cbc.Style = msoButtonIcon
'Toolbar must be hidden while icon is replaced:
cb.Visible = False
shIcons.Shapes("16x16x256_mask").CopyPicture xlScreen, xlBitmap
cbc.PasteFace
Set oMask = CallByName(cbc, "Picture", VbGet)
shIcons.Shapes("16x16x256").CopyPicture xlScreen, xlBitmap
cbc.PasteFace
CallByName cbc, "Mask", VbLet, oMask
cb.Visible = True


The second way looks better in Excel 2003, but both ways look very bad
in Excel 2007.

Any suggestions?


Thanks,

Greg



PJ

Custom Toolbar Icons Ugly in Excel 2007
 
CUSTOM icons, not customer icons. oops.

"PJ" wrote:

Sorry Greg, I do not have an answer for your post. I have a similar question
that is why I am adding it to your thread. I am looking for a way to add
customer icons to the toolbar. Do you know of a way?

"Greg Lovern" wrote:

I have a custom toolbar icon that looked fine in Excel 2003 but now
looks ugly in Excel 2007. We want it to work in both Excel 2007 and
Excel 2003, so I can't just make a custom Excel 2007 Ribbon tab.

I'm trying it two different ways in Excel 2007, and getting the same
results both ways:

First way:

Dim cbc As Object 'CommandBarControl
Set cbc = cb.Controls.Add(msoControlButton)
cbc.BeginGroup = True
cbc.Caption = "My Icon"
cbc.FaceId = 176
cbc.Style = msoButtonIcon
'Toolbar must be hidden while icon is replaced:
cb.Visible = False
shIcons.Shapes("16x16x256").Copy 'shIcons is a worksheet.
cbc.PasteFace
cb.Visible = True

Second Way:
(Thanks to KeepITCool's posts here)

Dim oMask As stdole.StdPicture
Dim cbc As Object 'CommandBarControl
Set cbc = cb.Controls.Add(msoControlButton)
cbc.BeginGroup = True
cbc.Caption = "My Icon"
cbc.FaceId = 176
cbc.Style = msoButtonIcon
'Toolbar must be hidden while icon is replaced:
cb.Visible = False
shIcons.Shapes("16x16x256_mask").CopyPicture xlScreen, xlBitmap
cbc.PasteFace
Set oMask = CallByName(cbc, "Picture", VbGet)
shIcons.Shapes("16x16x256").CopyPicture xlScreen, xlBitmap
cbc.PasteFace
CallByName cbc, "Mask", VbLet, oMask
cb.Visible = True


The second way looks better in Excel 2003, but both ways look very bad
in Excel 2007.

Any suggestions?


Thanks,

Greg



Greg Lovern

Custom Toolbar Icons Ugly in Excel 2007
 
My original post, to which you replied, shows two ways. Both work for
me. In Excel 2003, the longer way results in a slightly better-looking
icon.

Greg

On Sep 7, 1:22 pm, PJ wrote:
Sorry Greg, I do not have an answer for your post. I have a similar question
that is why I am adding it to your thread. I am looking for a way to add
customer icons to the toolbar. Do you know of a way?

"Greg Lovern" wrote:
I have a custom toolbar icon that looked fine in Excel 2003 but now
looks ugly in Excel 2007. We want it to work in both Excel 2007 and
Excel 2003, so I can't just make a custom Excel 2007 Ribbon tab.


I'm trying it two different ways in Excel 2007, and getting the same
results both ways:


First way:


Dim cbc As Object 'CommandBarControl
Set cbc = cb.Controls.Add(msoControlButton)
cbc.BeginGroup = True
cbc.Caption = "My Icon"
cbc.FaceId = 176
cbc.Style = msoButtonIcon
'Toolbar must be hidden while icon is replaced:
cb.Visible = False
shIcons.Shapes("16x16x256").Copy 'shIcons is a worksheet.
cbc.PasteFace
cb.Visible = True


Second Way:
(Thanks to KeepITCool's posts here)


Dim oMask As stdole.StdPicture
Dim cbc As Object 'CommandBarControl
Set cbc = cb.Controls.Add(msoControlButton)
cbc.BeginGroup = True
cbc.Caption = "My Icon"
cbc.FaceId = 176
cbc.Style = msoButtonIcon
'Toolbar must be hidden while icon is replaced:
cb.Visible = False
shIcons.Shapes("16x16x256_mask").CopyPicture xlScreen, xlBitmap
cbc.PasteFace
Set oMask = CallByName(cbc, "Picture", VbGet)
shIcons.Shapes("16x16x256").CopyPicture xlScreen, xlBitmap
cbc.PasteFace
CallByName cbc, "Mask", VbLet, oMask
cb.Visible = True


The second way looks better in Excel 2003, but both ways look very bad
in Excel 2007.


Any suggestions?


Thanks,


Greg




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

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