Показване на всички инсталирани шрифтове (Excel) с помощта на VBA в Microsoft Excel

Anonim

Макросът по -долу ще покаже списък с всички инсталирани шрифтове. Забележка! Ако имате инсталирани много шрифтове,
макросът може да спре да реагира поради липса на налична памет. Ако това се случи, можете да опитате
пример за Word по -късно в този документ.

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 fontSizeBox ApplicationIn. Размер на шрифта между 8 и 30 ", _" Изберете примерен размер на шрифта ", 12,,,,, 1) Ако fontSize = 0 След това излезте от Sub Ако fontSize 30 Тогава fontSize = 30 Задайте FontNamesCtrl = Application.CommandBars (" Форматиране "). FindControl (ID: = 1728) 'Ако контролът на шрифта липсва, създайте временна CommandBar Ако FontNamesCtrl не е нищо, след това задайте FontCmdBar = Application.CommandBars.Add ("TempFontNamesCtrl", _ msoBarFloating, False, True) Задайте FontNamesCtrb = FontNamesCtrl Добавяне (ID: = 1728) Край, ако Application.ScreenUpdating = False fontCount = FontNamesCtrl.ListCount Работни книги. Добавете имена на шрифтове в колона A и пример за шрифт в колона B За i = 0 Към FontNamesCtrl.ListCount - 1 fontName = FontNamesCtrl.List (i + 1) Application.StatusBar = "Шрифт на списъка" & _ Формат (i / (fontCount - 1), "0 %") & "" & _ fontName & "…" Клетки (i + StartRow, 1). Формула = fontName с клетки (i + StartRow, 2) tFormula = " abcdefghijklmnopqrstuvwxyz "Ако Application.International (xlCountrySetting) = 47 Тогава tFormula = tFormula &" æøå "Край Ако tFormula = tFormula & UCase (tFormula) tFormula = tFormula =" NextFormula = "NextFormula Application.StatusBar = False, ако не е FontCmdBar е нищо, тогава FontCmdBar.Delete Set FontCmdBar = Nothing Set FontNamesCtrl = Nothing 'добавете заглавни колони (1) .AutoFit с обхват ("A1"). = Вярно. Размер на шрифта = 14 Край с обхват ("A3"). Формула = "Име на шрифта:".. Шрифт Bold = Вярно. Размер на шрифта = 12 Край с обхват ("B3"). Пример за шрифт: ".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"). Изберете ActiveWindow.FreezePanes = True Range ("A2"). Изберете ActiveWorkbook.Saved = True End Sub