Visualizza tutti i caratteri installati (Excel) utilizzando VBA in Microsoft Excel

Anonim

La macro seguente visualizzerà un elenco di tutti i font installati. Nota! Se hai molti font installati,
la macro potrebbe bloccarsi a causa della mancanza di memoria disponibile. Se ciò accade, puoi provare il
esempio per Word più avanti in questo documento.

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 Dimensione carattere tra 8 e 30", _ "Seleziona dimensione carattere campione", 12, , , , , 1) Se fontSize = 0 Quindi esci da Sub If fontSize 30 Quindi fontSize = 30 Imposta FontNamesCtrl = Application.CommandBars ("Formatting"). FindControl(ID:=1728) ' Se il controllo Font è mancante, crea un CommandBar temporaneo If FontNamesCtrl non è nulla, quindi imposta 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 ' elenca i nomi dei font nella colonna A e gli esempi dei font nella colonna B For i = 0 To FontNamesCtrl.ListCount - 1 fontName = FontNamesCtrl.List (i + 1) Application.StatusBar = "Carattere elenco " & _ 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 Nome finale With Next.Font Application.StatusBar = False If Not FontCmdBar non è niente allora FontCmdBar.Delete Imposta FontCmdBar = Nothing Imposta FontNamesCtrl = Nothing ' aggiungi intestazione Columns(1).AutoFit With Range("A1") .Formula = "Caratteri installati:" .Font.Bold = True .Font.Size = 14 End With With Range("A3") .Formula = "Nome carattere:" .Font.Bold = True .Font.Size = 12 End With With Range("B3") .Formula = " Esempio di carattere:" .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"). Seleziona ActiveWindow.FreezePanes = True Range ("A2"). Seleziona ActiveWorkbook.Saved = True End Sub