Zeigen Sie alle installierten Schriftarten (Excel) mit VBA in Microsoft Excel an

Anonim

Das Makro unten zeigt eine Liste aller installierten Schriftarten an. Notiz! Wenn Sie viele Schriftarten installiert haben,
das Makro reagiert möglicherweise nicht mehr, da der verfügbare Speicher fehlt. Wenn dies passiert, können Sie dies versuchen
Beispiel für Word weiter unten in diesem Dokument.

Sub ShowInstalledFonts() Const StartRow As Integer = 4 Dim FontNamesCtrl As CommandBarControl, FontCmdBar As CommandBar, tFormula As String Dim fontName As String, i As Long, fontCount As Long, fontSize As Integer fontSize = 0 fontSize = Application.InputBox("Enter Sample Schriftgröße zwischen 8 und 30", _ "Beispielschriftgröße auswählen", 12, , , , , 1) Wenn fontSize = 0 Dann Sub beenden Wenn fontSize 30 Dann fontSize = 30 Set FontNamesCtrl = Application.CommandBars("Formatting"). FindControl(ID:=1728) ' Wenn das Font-Steuerelement fehlt, erstellen Sie eine temporäre CommandBar Wenn FontNamesCtrl nichts ist Then Set FontCmdBar = Application.CommandBars.Add("TempFontNamesCtrl", _ msoBarFloating, False, True) Set FontNamesCtrl = FontCmdBar.Controls. Add(ID:=1728) End If Application.ScreenUpdating = False fontCount = FontNamesCtrl.ListCount Workbooks.Add ' listet Schriftnamen in Spalte A und Schriftbeispiel in Spalte B auf For i = 0 To FontNamesCtrl.ListCount - 1 fontName = FontNamesCtrl.List (i + 1) Application.StatusBar = "Schriftart auflisten" & _ Format(i / (fontCount - 1), "0 %") & " " & _ fontName & "… " Cells(i + StartRow, 1).Formula = fontName With Cells(i + StartRow, 2) tFormula = " abcdefghijklmnopqrstuvwxyz" If Application.International(xlCountrySetting) = 47 Then tFormula = tFormula & "æøå" End If tFormula = tFormula & UCase(tFormula) tFormula = tFormula & "1234567890" .Formula = tFormula = .Font End With NextFormula = .Font Application.StatusBar = False Wenn nicht FontCmdBar nichts ist Then FontCmdBar.Delete Set FontCmdBar = Nichts Set FontNamesCtrl = Nichts ' Überschrift Spalten hinzufügen(1).AutoFit With Range("A1") .Formula = "Installierte Schriftarten:" .Font.Bold = True .Font.Size = 14 End With With Range("A3") .Formula = "Font Name:" .Font.Bold = True .Font.Size = 12 End With With Range("B3") .Formula = " Schriftart-Beispiel:" .Font.Bold = True .Font.Size = 12 End With With Range("B" & StartRow & ":B" & _ StartRow + fontCount) .Font.Size = fontSize End With With Range("A " & StartRow & ":B" & _ StartRow + fontCount) .VerticalAlignment = xlVAl ignCenter End With Range("A4").Select ActiveWindow.FreezePanes = True Range("A2").Select ActiveWorkbook.Saved = True End Sub