Zobrazte všetky nainštalované písma (Excel) pomocou jazyka VBA v programe Microsoft Excel

Anonim

Nasledujúce makro zobrazí zoznam všetkých nainštalovaných písem. Poznámka! Ak máte nainštalovaných veľa písem,
makro môže prestať reagovať kvôli nedostatku dostupnej pamäte. Ak sa to stane, môžete skúsiť
ukážka pre Word ďalej v tomto dokumente.

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 Veľkosť písma medzi 8 a 30 palcov, _ "Vyberte vzorovú veľkosť písma", 12,,,,, 1) Ak je veľkosť písma = 0, potom Ukončiť Sub Ak veľkosť písma 30 Potom veľkosť písma = 30 Nastaviť meno_ fontov = Application.CommandBars („formátovanie“). FindControl (ID: = 1728) 'Ak chýba ovládanie písma, vytvorte dočasný príkazový riadok, ak FontNamesCtrl nie je nič, potom nastavte FontCmdBar = Application.CommandBars.Add ("TempFontNamesCtrl", _ msoBarFloating, False, True) Nastavte FontNamesCtrl = FontCmdB. Pridať (ID: = 1728) Koniec, ak Application.ScreenUpdating = False fontCount = FontNamesCtrl.ListCount zošity. Pridajte 'zoznam názvov fontov v stĺpci A a príklad písma v stĺpci B pre i = 0 do FontNamesCtrl.ListCount - 1 fontName = FontNamesCtrl.List (i + 1) Application.StatusBar = "Písmo zoznamu" & _ Formát (i / (fontCount - 1), "0 %") & "" & _ fontName & "…" Bunky (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 = Nepravda, ak nie, FontCmdBar nie je nič, potom FontCmdBar.Delete Nastaviť FontCmdBar = Nič Nastaviť FontNamesCtrl = Nič 'pridať nadpis Stĺpce (1). AutoFit s rozsahom ("A1") .Formula = "Nainštalované písma:" .Font.Bold = True .Font.Size = 14 Koniec s rozsahom ("A3") .Formula = "Názov písma:" .Font.Bold = True .Font.Size = 12 Koniec s rozsahom ("B3") .Formula = " Príklad písma: ".Font.Bold = True .Font.Size = 12 Koniec s rozsahom (" B "& StartRow &": B "& _ StartRow + fontCount) .Font.Size = fontSize Koniec s rozsahom (" A "& StartRow &": B "& _ StartRow + fontCount) .VerticalAlignment = xlVAl ignCenter Koniec s rozsahom ("A4"). Vyberte ActiveWindow.FreezePanes = True Range ("A2"). Vyberte ActiveWorkbook.Saved = True End Sub