VBA Tipp: Eigenes Taskleistensymbol verwenden

Aus DBWiki
Wechseln zu: Navigation, Suche

Aufgabenstellung

Ich möchte für meine Access-Datenbank ein eigenes Symbol in der Taskleiste verwenden.

Lösung

Das geht mit folgender Prozedur, die in einem globalen Modul hinterlegt wird:

Public Sub TaskleistensymbolErzeugen(iconpfad)
 
 'Quelle: http://www.dbwiki.net/
 
 Dim prp As DAO.Property
 
 On Error GoTo Err_TaskleistensymbolErzeugen
 
 'Versuchen, der Property (Eigenschaft) "AppIcon" einen Wert zuzuweisen
 CurrentDb.Properties("AppIcon") = iconpfad
 On Error GoTo 0
 
Exit_TaskleistensymbolErzeugen:
 Exit Sub
 
Err_TaskleistensymbolErzeugen:
 
   'Laufzeitfehler 3270: Eigenschaft nicht gefunden
   If err.Number = 3270 Then
 
      ' Wenn die Property (Eigenschaft) "AppIcon" nicht existiert, erzeugen
      Set prp = CurrentDb.CreateProperty("AppIcon", dbText, iconpfad)
      CurrentDb.Properties.Append prp
 
      'sofortige Aktualisierung der Titelleiste und der Taskleiste
      Application.RefreshTitleBar
 
   Else
     MsgBox "Laufzeitfehler '" & err.Number & "':" & vbCrLf & vbCrLf & err.Description
   End If
 
   Resume Exit_TaskleistensymbolErzeugen
 
End Sub

Aufruf

 Dim iconpfad As String
 
 'Beispiel: Icon-Datei "favicon.ico" im Unterverzeichnis "Bilder"
 iconpfad = CurrentProject.Path & "\Bilder\favicon.ico"
 
 Call TaskleistensymbolErzeugen(iconpfad)

Hinweise

  • Die Property (Eigenschaft) "AppIcon" bleibt in der Datenbank dauerhaft gespeichert, bis sie explizit gelöscht wird. Das heißt, die obige Prozedur braucht nur ein einziges Mal ausgeführt werden, falls sich der Pfad zum Icon nicht ändert.
  • Die Property (Eigenschaft) "AppIcon" kann mit folgendem Code auch wieder gelöscht werden:
 CurrentDb.Properties.Delete "AppIcon"


Der Code wurde in Access 2010 unter Windows 7 erstellt, ist aber auch in früheren Accessversionen lauffähig.

Wiki-Links