Toon alle geïnstalleerde lettertypen (Excel) met VBA in Microsoft Excel

Anonim

De onderstaande macro toont een lijst met alle geïnstalleerde lettertypen. Opmerking! Als u veel lettertypen hebt geïnstalleerd,
de macro reageert mogelijk niet meer vanwege een gebrek aan beschikbaar geheugen. Als dit gebeurt, kunt u de
voorbeeld voor Word verderop in dit document.

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 Lettergrootte tussen 8 en 30", _ "Selecteer voorbeeldlettergrootte", 12, , , , , 1) Als fontSize = 0 Dan Sub afsluiten If fontSize 30 Dan fontSize = 30 FontNames instellenCtrl = Application.CommandBars("Formatting"). FindControl(ID:=1728) ' Als Font-besturingselement ontbreekt, maak dan een tijdelijke CommandBar. Als FontNamesCtrl niets is, stel dan FontCmdBar = Application.CommandBars.Add("TempFontNamesCtrl", _ msoBarFloating, False, True) FontNames inCtrl = FontCmdBar.Controls in. Add(ID:=1728) End If Application.ScreenUpdating = False fontCount = FontNamesCtrl.ListCount Workbooks.Add ' lijst lettertypenamen in kolom A en lettertypevoorbeeld in kolom B For i = 0 Naar FontNamesCtrl.ListCount - 1 fontName = FontNamesCtrl.List (i + 1) Application.StatusBar = "Lijstlettertype" & _ 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 & "EndFormula & "1234567890 =" .Formula Application.StatusBar = False Indien niet FontCmdBar is niets dan FontCmdBar.Delete Set FontCmdBar = Nothing Set FontNamesCtrl = Nothing ' kop kolommen toevoegen(1).AutoFit With Range("A1") .Formula = "Geïnstalleerde lettertypen:" .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 = " Lettertypevoorbeeld:" .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").Selecteer ActiveWindow.FreezePanes = True Range ("A2").Select ActiveWorkbook.Saved = True End Sub