![]() |
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 |
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 |
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 |
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