La siguiente macro mostrará una lista de todas las fuentes instaladas. ¡Nota! Si tiene muchas fuentes instaladas,
la macro puede dejar de responder debido a la falta de memoria disponible. Si esto sucede, puede probar el
ejemplo para Word más adelante en este 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 Tamaño de fuente entre 8 y 30 ", _" Seleccionar tamaño de fuente de muestra ", 12,,,,, 1) Si fontSize = 0 Luego salga de Sub Si fontSize 30 Entonces fontSize = 30 Establezca FontNamesCtrl = Application.CommandBars (" Formato "). FindControl (ID: = 1728) 'Si falta el control de fuente, cree una barra de comando temporal Si FontNamesCtrl no es nada, entonces establezca FontCmdBar = Application.CommandBars.Add ("TempFontNamesCtrl", _ msoBarFloating, False, True) Establezca FontNamesCtrl = FontCmdBar.Controls. Agregar (ID: = 1728) End If Application.ScreenUpdating = False fontCount = FontNamesCtrl.ListCount Workbooks.Agregar 'lista de nombres de fuente en la columna A y ejemplo de fuente en la columna B Para i = 0 a FontNamesCtrl.ListCount - 1 fontName = FontNamesCtrl.List (i + 1) Application.StatusBar = "Listado de fuentes" & _ Formato (i / (fontCount - 1), "0%") & "" & _ fontName & "…" Celdas (i + StartRow, 1) .Formula = fontName Con celdas (i + StartRow, 2) tFormula = " abcdefghijklmnopqrstuvwxyz "If Application.International (xlCountrySetting) = 47 Entonces tFormula = tFormula &" æøå "Fin Si tFormula = tFormula & UCase (tFormula) tFormula = tFormula &" 1234567890 ".FormulaName .Formula = tFormula Siguiente. Application.StatusBar = False Si no FontCmdBar no es nada, entonces FontCmdBar.Delete Establecer FontCmdBar = Nada Establecer FontNamesCtrl = Nada 'agregar encabezado Columnas (1) .AutoFit con rango ("A1") .Formula = "Fuentes instaladas:" .Font.Bold = Verdadero .Font.Size = 14 Terminar con rango ("A3") .Fórmula = "Nombre de fuente:" .Font.Bold = Verdadero .Font.Size = 12 Terminar con rango ("B3") .Fórmula = " Ejemplo de fuente: ".Font.Bold = True .Font.Size = 12 Terminar con con rango (" B "& StartRow &": B "& _ StartRow + fontCount) .Font.Size = fontSize Terminar con con rango (" A "& StartRow &": B "& _ StartRow + fontCount) .VerticalAlignment = xlVAl ignCenter End With Range ("A4"). Seleccione ActiveWindow.FreezePanes = True Range ("A2"). Seleccione ActiveWorkbook.Saved = True End Sub