Zobrazit všechna nainstalovaná písma (Excel) pomocí VBA v Microsoft Excelu

Anonim

Níže uvedené makro zobrazí seznam všech nainstalovaných písem. Poznámka! Pokud máte nainstalováno mnoho písem,
makro může přestat reagovat z důvodu nedostatku dostupné paměti. Pokud k tomu dojde, můžete zkusit
ukázka pro Word dále v tomto dokumentu.

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 Velikost písma mezi 8 a 30 ", _" Vyberte ukázkovou velikost písma ", 12,,,,, 1) If fontSize = 0 Then Exit Sub If fontSize 30 Then fontSize = 30 Set FontNamesCtrl = Application.CommandBars (" Formatting "). FindControl (ID: = 1728) 'Pokud chybí ovládací prvek Písmo, vytvořte dočasný CommandBar Pokud FontNamesCtrl není nic, pak nastavte FontCmdBar = Application.CommandBars.Add ("TempFontNamesCtrl", _ msoBarFloating, False, True) Nastavte FontNamesCtrl = FontCmdB. Přidat (ID: = 1728) Konec If Application.ScreenUpdating = False fontCount = FontNamesCtrl.ListCount Workbooks.Add 'seznam názvů písem ve sloupci A a příklad písma ve sloupci B Pro i = 0 Do FontNamesCtrl.ListCount - 1 fontName = FontNamesCtrl.List (i + 1) Application.StatusBar = "Písmo výpisu" & _ 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 = tForm Application.StatusBar = False If Not FontCmdBar Is Nothing Then FontCmdBar.Delete Set FontCmdBar = Nothing Set FontNamesCtrl = Nothing 'add header Columns (1) .AutoFit With Range ("A1") .Formula = "Installed fonts:" .Font.Bold = True .Font.Size = 14 Konec s rozsahem ("A3") .Formula = "Název písma:" .Font.Bold = True .Font.Size = 12 Konec s rozsahem ("B3") .Formula = " Příklad písma: ".Font.Bold = True .Font.Size = 12 Konec s rozsahem (" B "& StartRow &": B "& _ StartRow + fontCount) .Font.Size = fontSize Konec s rozsahem (" A "& StartRow &": B "& _ StartRow + fontCount) .VerticalAlignment = xlVAl ignCenter Konec s rozsahem ("A4"). Vyberte ActiveWindow.FreezePanes = True Range ("A2"). Vyberte ActiveWorkbook.Saved = True End Sub