Εμφάνιση όλων των εγκατεστημένων γραμματοσειρών (Word) χρησιμοποιώντας VBA στο Microsoft Excel

Anonim

Οι παρακάτω μακροεντολές θα εμφανίσουν μια λίστα με όλες τις εγκατεστημένες γραμματοσειρές. Σημείωση! Εάν έχετε εγκαταστήσει πολλές γραμματοσειρές,
η μακροεντολή μπορεί να σταματήσει να ανταποκρίνεται λόγω έλλειψης διαθέσιμης μνήμης.

Sub ShowInstalledFonts () Dim FontNamesCtrl As CommandBarControl, FontCmdBar As CommandBar, tFormula As String Dim fontName As String, i As Long, fontCount As Long, fontSize As Integer Dim stdFont As String fontSize = 0 fontSize = Inple Font ("Enter" Και 30 ", _" Επιλέξτε Δείγμα μεγέθους γραμματοσειράς ", 12) Εάν fontSize = 0 Στη συνέχεια εξέλθετε από το στοιχείο Εάν fontSize 30 Τότε fontSize = 30 Ορίστε FontNamesCtrl = Application.CommandBars (" Μορφοποίηση "). FindControl (ID: = 1728) Εάν FontNamesCtrl είναι Τίποτα Στη συνέχεια Ρυθμίστε FontCmdBar = Application.CommandBars.Add ("TempFontNamesCtrl", _ msoBarFloating, False, True) Ορίστε FontNamesCtrl = FontCmdBar.Controls.Add (ID: = 1728) Τέλος εάν Application.ScreenUpdating = False Προσθήκη stdFont = ActiveDocument.Paragraphs (1) .Range.Font.Name 'add heading With ActiveDocument.Paragraphs (1) .Range .Text = "Installed fonts:" End With LS 2 "name font name and example font σε κάθε άλλη γραμμή Για i = 0 To FontNamesCtrl.ListCount - 1 fontName = FontName sCtrl.List (i + 1) If i Mod 5 = 0 Then Application.StatusBar = "Γραμματοσειρά καταχώρισης" & _ Μορφή (i / (fontCount - 1), "0 %") & "" & _ fontName & "…" Με ActiveDocument.Paragraphs (ActiveDocument.Paragraphs.Count) .Range .Text = fontName .Font.Name = stdFont End With LS 1 tFormula = "abcdefghijklmnopqrstuvwxyz" If Application.International (wdProductLanguormula) = 47 "tFF End> Εάν tFormula = tFormula & UCase (tFormula) tFormula = tFormula & "1234567890" With ActiveDocument.Paragraphs (ActiveDocument.Paragraphs.Count) .Range .Text = tFormula .Font.Name = fontName End With LS 2 Next i ActiveFocont. .Size = fontSize Application.StatusBar = False If Not FontCmdBar is Nothing then FontCmdBar.Delete Set FontCmdBar = Τίποτα δεν έχει οριστεί FontNamesCtrl = Τίποτα ActiveDocument.Saved = True Application.ScreenUpdating = True Application.ScreenRefresh End 'Private Sub L Private Sub προσθέτει lΑριθμήστε νέες παραγράφους στο τέλος του εγγράφου Dim i As Integer With ActiveDo cument.Content For i = 1 To lCount .InsertParagraphAfter Next i End With End Sub