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 kalkylbladet

Set 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 Sub

När ovanstående procedur är körd visas resultatet på följande vis: