• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Hoe icoon aanbrengen in menu item met VBA?

Status
Niet open voor verdere reacties.

hstijnen

Gebruiker
Lid geworden
26 apr 2007
Berichten
82
Hoi,

Ik probeer met VBA een menu item te creëren in de menubalk van Excel (vs 2000). Dat lukt, maar ik wil ook een icoon erbij. Ergens heb ik de volgende code gevonden die dat zou moeten doen:
Code:
Set SubMenu = CommandBars(”Sculpt”).Controls(”SculptIcon”)
With SubMenu
    .Picture = LoadPicture(strPath & “Sculpt.bmp”)
    .Mask = LoadPicture(strPath & “SculptMask.bmp”)
End With

Ik krijg echter een foutmelding bij:
.Picture = LoadPicture(strPath & “Sculpt.bmp”)
Picture is geen member van CommandBarControl. In de Help staat die er ook niet bij.

Wat kan er aan de hand zijn? Gaat het in Excel 2000 niet en in latere versie wel?
 
Sorry, ik gaf de code zoals ik die op internet vond. Hier is de code die ik gebruik:
Code:
  Dim cb As Object
  Set cb = Application.CommandBars("Worksheet menu bar").Controls("Nieuw")
  With cb.Controls.Add(Type:=msoControlButton)
                .Caption = "test"
                .OnAction = "test"
                .Style = msoButtonIconAndCaption
                .Picture = LoadPicture("C:\MS-Apps\test.bmp")
  End With
 
Volgens mij met ".FaceId = 463".

Code:
  ' add menuitem to menu
    With cbMenu.Controls.Add(msoControlButton, 1, , , True)
        .Caption = "&Remove this menu"
        .OnAction = ThisWorkbook.Name & "!RemoveMenu"
        .Style = msoButtonIconAndCaption
        .FaceId = 463
        .BeginGroup = True
    End With

zie voorbeeld.

Pierre
 

Bijlagen

Dan krijg je een van de ingebouwde knopvlakken. Wanneer ik mijn zelfgebouwde knopvlak wil laden, blijft de foutmelding.
Hoe kan ik in VBA het knopvlak benaderen?
 
Doe eens een voorbeeldbestandje, samen met de bitmap en ook de code die je gebruikt.

Tevens code om ALLES weer op te ruimen wat je in Excel laat zetten. Knoppen, balken, etc.

Overbodige code wegdoen aub.

Wigi
 
Hoi Wigi,

Hierbij een xls met code, en de icoon. De code gaat ervan uit dat de icoon in C:\ms-apps staat.

Ik heb mijn wijsheid hier vandaan: http://sculpt.wordpress.com/2007/01/03/add-a-custom-icon-to-a-custom-command-bar/

het gaat ihb om de code:
Code:
‘Add the custom icon
strPath = ThisWorkbook.Path ‘filepath of your workbook
If Right(strPath, 1) <> “\” Then strPath = strPath & “\”
Set SubMenu = CommandBars(”Sculpt”).Controls(”SculptIcon”)
With SubMenu
[B].Picture = LoadPicture(strPath & “Sculpt.bmp”)[/B]
.Mask = LoadPicture(strPath & “SculptMask.bmp”)
End With

Bij voorbaat dank
 

Bijlagen

Als je wilt dat er een X in je menubar naast 'Help' komt te staan en in het pulldown menu staat je icoon met tekst! Dan gebeurt dit bij mij precies zo.

Ik werk met office 2003.
 
Ik werk met Excel 2000. Ik kan geen andere conclusie trekken dan dat dat het probleem is en dat ik moet wachten tot de upgrade!

Bedankt voor jullie reacties.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan