1 1 1 1 1 1 1 1 1 1 Rating 5.00 (1 Vote)

Problemstellung:
Temporäres installieren von TrueTypeFonts unter MS-Access

Voraussetzungen:
Das Bsp ist ab A97 lauffähig.

Funktionsweise:
Die Installation erfolgt mittels der API-Funktion "AddFontResource" aus der gdi32.dll
Im Bsp selbst kommen eine ImageList und eine ImageCombo zum Einsatz.
Sie werden für die Darstellung der im System vorhandenen Laufwerke eingesetzt.
Da beide Steuerelemente nicht zur Standardausstattung von Access gehören sondern nur in
den Dev. Versionen bzw. VB enthalten sind, sollen sie hier unbetrachtet bleiben.

Auch den Datei-Öffnen Dialog lasse ich hier in der Betrachtung weg, da dies im allg. bekannt sein dürfte.
Kommen wir jetzt zum eigentlichen hinzufügen des Fonts.
Um die API-Funktion zu nutzen, muss diese im Modulkopf deklariert werden:
Wobei zu beachten wäre, wenn die Deklaration im Formular erfolgt, das es dann
"Private Declare Function" lauten muss.

Declare Function AddFontResource Lib "gdi32.dll" _
                 Alias "AddFontResourceA" (ByVal lpFileName As String) _
                 As Long

Die API-Funktion selbst gibt einen Long-Wert zurück, dieser gibt an ob das Hinzufügen des Fonts erfolgreich war oder nicht. 0=Fehler, -1=Erfolg

Dim Retval As Long
  Retval = AddFontResource(Me.Dateipfad)
    If Retval = 0 Then
        MsgBox "Die Funktion ist gescheitert", vbCritical, "Fehler"
      Else
        MsgBox "Es wurde " & Retval & " Font hinzugefügt.", _
        vbInformation, "Font hinzugefügt"
    End If

Auf ein Entfernen des Fonts wurde bewußt verzichtet, da die Installation nur temporär erfolgt und
alle hinzugefügten Fonts nach einem Systemneustart wieder deinstalliert sind.
Wer trotzdem daran Interesse hat, mit der API-Funktion "RemoveFontResource" wäre auch dies möglich.

Dateien:

Temporäre Installation von TrueTypeFonts

ab A97

Die Zip-Datei enthält ein Version für A97 und eine ab A00

 
Datum 05.02.2018
Dateigröße 103.24 KB
Download 2.673

Ähnliche Artikel