Wyświetl wszystkie zainstalowane czcionki (Excel) za pomocą VBA w programie Microsoft Excel

Anonim

Poniższe makro wyświetli listę wszystkich zainstalowanych czcionek. Notatka! Jeśli masz zainstalowanych wiele czcionek,
makro może przestać odpowiadać z powodu braku dostępnej pamięci. Jeśli tak się stanie, możesz spróbować
przykład dla programu Word w dalszej części tego 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 Rozmiar czcionki od 8 do 30", _ "Wybierz rozmiar czcionki próbki", 12, , , , , 1) Jeśli fontSize = 0 Następnie wyjdź z Sub Jeśli fontSize 30 Następnie fontSize = 30 Ustaw FontNamesCtrl = Application.CommandBars("Formatowanie"). FindControl(ID:=1728) ' Jeśli brakuje kontroli czcionki, utwórz tymczasowy pasek poleceń Jeśli FontNamesCtrl to nic, a następnie ustaw FontCmdBar = Application.CommandBars.Add("TempFontNamesCtrl", _ msoBarFloating, False, True) Ustaw FontNamesCtrl = FontCmdBar.Controls. Add(ID:=1728) End If Application.ScreenUpdating = False fontCount = FontNamesCtrl.ListCount Workbooks.Add ' lista nazw czcionek w kolumnie A i przykład czcionki w kolumnie B For i = 0 To FontNamesCtrl.ListCount - 1 fontName = FontNamesCtrl.List (i + 1) Application.StatusBar = "Czcionka listy" & _ 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 & "æøNameå" End If tFormula = tFormula & UCase(tFormula) tFormula = tFormula & "1234567890" tFormula = .Formula = .Formula. Application.StatusBar = False Jeśli nie FontCmdBar to Nic To FontCmdBar.Delete Set FontCmdBar = Nic Ustaw FontNamesCtrl = Nic ' dodaj nagłówek Columns(1).AutoFit With Range("A1") .Formula = "Zainstalowane czcionki:" .Font.Bold = True .Font.Size = 14 Kończ zakresem("A3") .Formula = "Nazwa czcionki:" .Font.Bold = True .Font.Size = 12 Kończ zakresem("B3") .Formula = " Przykład czcionki:" .Font.Bold = True .Font.Size = 12 Zakończ zakresem("B" & StartRow & ":B" & _ StartRow + fontCount) .Font.Size = fontSize Zakończ zakresem("A " & StartRow & ":B" & _ StartRow + fontCount) .VerticalAlignment = xlVAl ignCenter Koniec z zakresem("A4").Select ActiveWindow.FreezePanes = True Range("A2").Select ActiveWorkbook.Saved = True End Sub