Verktygsknappbilder
(Face-ID)
Microsoft Office innehåller många s k inbyggda knappbilder, vilka vi kan använda oss när vi skapar egna verktygsfält.
För att koppla en specifik bild till en kontroll tilldelar vi egenskapen Face-ID ett heltal för kontrollen, ett s k ID-nummer (Se Skapa & Lägga till verktygsfält).
Här demonstreras hur vi kan ta fram samtliga id-nummer och ikoner för de inbyggda knappbilderna
Sub Lista_Face_ID()
Dim iKnappID As Integer
Dim iRad, iKolumn As Integer
Dim cbKontroll As CommandBarControl
Dim cbVFalt As CommandBar
On Error Resume Next
Application.ScreenUpdating = False
'Här skapas ett temporärt verktygsfält, från vilken id-nummer
'och bild läses in / kopieras in i det aktiva kalkylbladetSet cbVFalt = CommandBars.Add(Position:=msoBarFloating, _
MenuBar:=False, Temporary:=True)
Set cbKontroll = cbVFalt.Controls.Add(Type:=msoControlButton, _
Temporary:=True)
iRad = 1
'Här hämtas alla uppgifterna och felhanteringen gör att
'proceduren avstannas när samtliga uppgifter är inhämtade.
Do While Err.Number = 0
For iKolumn = 1 To 10
iKnappID = iKnappID + 1
Application.StatusBar = "Face-ID =" & iKnappID
cbKontroll.FaceId = iKnappID
cbKontroll.CopyFace
If Err.Number <> 0 Then Exit For
ActiveSheet.Paste Cells(iRad, iKolumn + 1)
Cells(iRad, iKolumn).Value = iKnappID
Next iKolumn
iRad = iRad + 1
Loop
Application.StatusBar = False
cbVFalt.Delete
Application.ScreenUpdating = True
End SubNär ovanstående procedur är körd visas resultatet på följande vis: