Prikaz vseh nameščenih pisav (Excel) z uporabo VBA v programu Microsoft Excel

Anonim

Spodnji makro bo prikazal seznam vseh nameščenih pisav. Opomba! Če imate nameščenih veliko pisav,
makro se lahko preneha odzivati ​​zaradi pomanjkanja razpoložljivega pomnilnika. Če se to zgodi, lahko poskusite
vzorec za Word kasneje v tem dokumentu.

Sub ShowInstalledFonts () Const StartRow As Integer = 4 Dim FontNamesCtrl Kot CommandBarControl, FontCmdBar Kot CommandBar, tFormula As String Dim fontName As String, i As Long, fontCount As Long, fontSize As Integer fontSize = 0 fontSizeBox = Application. Velikost pisave med 8 in 30 ", _" Izberite vzorčno velikost pisave ", 12,,,,, 1) Če je fontSize = 0 Potem zapustite Sub Če je fontSize 30 Potem fontSize = 30 Nastavite FontNamesCtrl = Application.CommandBars (" Oblikovanje "). FindControl (ID: = 1728) 'Če manjka nadzor pisave, ustvarite začasno vrstico CommandBar Če FontNamesCtrl ni nič, potem nastavite FontCmdBar = Application.CommandBars.Add ("TempFontNamesCtrl", _ msoBarFloating, False, True) Nastavi FontNamesCtrl = FontNamesCtrl Dodaj (ID: = 1728) Končaj, če Application.ScreenUpdating = False fontCount = FontNamesCtrl.ListCount Delovni zvezki. Dodajte imena pisav seznama v stolpec A in primer pisave v stolpcu B Za i = 0 K FontNamesCtrl.ListCount - 1 fontName = FontNamesCtrl.List (i + 1) Application.StatusBar = "Pisava seznama" & _ Oblika (i / (fontCount - 1), "0 %") & "" & _ fontName & "…" Celice (i + StartRow, 1). Formula = fontName s celicami (i + StartRow, 2) tFormula = " abcdefghijklmnopqrstuvwxyz "Če je aplikacija. Mednarodna (xlCountrySetting) = 47 Potem je tFormula = tFormula &" æøå "Konec Če je tFormula = tFormula & UCase (tFormula) tFormula = tFormula =" NaprejFormula = "Naprej Application.StatusBar = False Če ni FontCmdBar je nič, potem FontCmdBar.Delete Set FontCmdBar = Nothing Set FontNamesCtrl = Nothing 'dodaj stolpce naslova (1). AutoFit z obsegom ("A1"). = True .Font.Size = 14 Konec z obsegom ("A3") .Formula = "Ime pisave:" .Font.Bold = True. Velikost fontov = 12 Končaj z obsegom ("B3"). Formula = " Primer pisave: ".Font.Bold = True .Font.Size = 12 Konec z obsegom (" B "& StartRow &": B "& _ StartRow + fontCount). Font.Size = fontSize Konec z obsegom (" A "& StartRow &": B "& _ StartRow + fontCount) .VerticalAlignment = xlVAl ignCenter End With Range ("A4"). Izberite ActiveWindow.FreezePanes = True Range ("A2"). Izberite ActiveWorkbook.Saved = True End Sub