• 최초 작성일: 2002-01-03
  • 최종 수정일: 2026-09-30
  • 조회수: 9 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 모든 폰트 보기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

대망의 2002년 새해가 밝았습니다!!! 좋은 꿈 꾸시고, 좋은 계획 많이들 세우셨습니까.

여러분이 생각하시는 "행복"이란 어떤 것입니까? 언젠가 소개해 드린 바와 같이, Exceller가 생각하는 행복이란 "행복하다고 느끼는 순간의 총량" 입니다.

내일은 괜찮아 지겠지. 내년에는 올해보다는 좋아지겠지. 이번 시험(또는 프로젝트)만 끝나고 나면 나아지겠지.

우리는 항상 다음 단계를 머리 속으로 그리며 마치 고행을 하듯이 현재의 고통을 감내하는데 익숙해 있습니다. 과연 내일이 되면, 내년이 되면, 그리고 이 프로젝트만 끝나면 행복해 질까요? 적어도 Exceller에게 있어서는 그랬던 기억보다 그렇지 않았던 기억이 훨씬 많았던 것 같습니다.

모 월간지에서 조사한 "한국인의 행복관"에 대한 결과를 보니 자못 흥미롭습니다.

한국인들은 대다수(90%)가 "자신은 행복하다"고 느끼고 있으며, 그 중 79.5%가 "대통령보다 자신이 더 행복하다"라고 응답을 했다고 합니다(갤럽 조사결과) 그 행복의 근원은 가정화목이었고, 특히 자녀를 중심으로 행/불행이 결정되므로 비록 2002년의 한국 사회가 획기적으로 개선되지 않는다고 해도 대다수 국민들은 여전히 행복감을 표시할 것이라고 합니다.

이 조사 결과에 의하면, 대한 민국에서 가장 불행하다고 생각하는 사람은 30대 남성이며, 가장 행복하다고 생각하는 사람은 20대 여성으로 자신이 불행하다고 느끼는 20대 여성은 거의 없는 것으로 나타났다는군요(0.7%만이 불행하다고 응답).

한국인 대부분은 경제적으로 욕심을 부린다면 월 평균 59만원 정도의 쓸 돈과 35평 정도의 집이 있으면 "행복하겠다"고 생각하는 것으로 조사되었답니다. 참으로 소박한(^^) 소망이지요?

서양 속담에 이런 것이 있습니다. "가난한 사람은 돈만 있으면 행복해 질 것이라고 생각하고 부자는 위궤양만 낫는다면 행복해 질 것이라고 생각한다."

우리는 누구나 자신이 가진 것은 보지 못하고 남의 소유물에만 관심을 기울입니다. 새해에는 내가 가진 것, 현재를 직시하고 현재를 즐기는 일에 보다 많은 관심을 가질 생각입니다. 행복은 유한 계급만이 향유하는 특권이 아닐 것입니다. 주변의 모든 일상에 행복이 스며있습니다. 인생을 주도적으로 사는 사람에게만 보다 잘 보일 따름이지요.

하여튼 2002년에는 작년보다 조금만 더 잘 살아 보자는 얘기였습니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 대표 직강 1강 무료

🎁 파워툴스 마스터클래스 · 엑셀 바이브 코딩

AI에게 말로 지시해서 '나만의 엑셀 도구'를 만들고 리본에 장착합니다.

  • 코딩 지식 없이 시작 · 코드는 AI가 작성
  • 엑셀 리본에 내 탭과 버튼을 만들고 XLAM으로 공유
  • 1강 무료 수강 가능
수강 신청하기 강의 소개 보기

모든 폰트 보기

핵심 요약: 설치된 글꼴 목록 만들기

FindControl 메서드로 글꼴 콤보 상자(ID 1728)를 찾아 List 속성을 순환하면 설치된 모든 글꼴을 이름과 샘플로 표시할 수 있습니다.

  • 1단계: FindControl(ID:=1728)로 글꼴 목록 컨트롤을 찾습니다.
  • 2단계: 새 시트를 만들고 제목 행을 만든 뒤 틀 고정을 합니다.
  • 3단계: ListCount만큼 반복하며 글꼴 이름과 샘플 문구를 채웁니다.

내 PC에 설치된 글꼴 보기

이번 시간에는 자신의 PC에 어떤 글꼴이 설치되어 있는 지 알아보도록 할까요? 버튼을 눌러 보세요.

워크시트가 한장 삽입되면서 글꼴 목록 및 샘플이 표시되지요?

ShowInstalledFonts 프로시저

Sub ShowInstalledFonts()
    Dim ctlFontList As CommandBarControl
    Dim cmdBar As CommandBar
    Dim strFontSample As String, strFontName As String
    Dim i As Integer
    On Error Resume Next
    Set ctlFontList = Application.CommandBars("Formatting").FindControl(ID:=1728)
    On Error GoTo 0
    strFontSample = "abcdefghijklmnopqrstuvwxyz1234567890"
    '''변수를 미리 선언해 주고 변수의 값을 할당(assign) 합니다.
    '''모든 CommandBar는 고유한 ID 값(Property)를 가지고 있습니다.
    '''따라서 FindControl 메서드를 사용하기 위해서는 각 컨트롤의 고유한 ID 값을
    '''알고 있어야 하는 것이지요. 그러면 이 값을 어떻게 아느냐…
    '''직접 실행창에다가 Msgbox CommandBars(1).Controls(1).ID 라고 입력하고
    '''엔터키를 탁 쳐 보세요.
    '''30002라는 값이 뜨지요? 이것은 커맨드 바의 첫번째 메뉴(컨트롤)의 ID Setting 값이
    '''30002라는 의미입니다. 마찬가지로 다른 메뉴에 대한 ID Setting값도 찾아보세요.
    '''아울러 FindControl 메서드에 대한 사항도 도움말을 참고로 정리해 두시기 바랍니다.

    Worksheets.Add after:=Worksheets("Preface")
    With [A1:B1]
        .Value = Array("Font Name", "Font Example")
        .Font.ColorIndex = 2
        .Font.Name = "Arial"
    End With
    [A2].Select
    ActiveWindow.FreezePanes = True
    '''워크시트를 한장 삽입하고 타이틀 부분을 지정한 다음 A2 셀을 기준으로
    '''틀 고정을 시킵니다.

    If ctlFontList Is Nothing Then
        Set cmdBar = Application.CommandBars.Add
        Set ctlFontList = cmdBar.Controls.Add(ID:=1728)
    End If

    For i = 1 To ctlFontList.ListCount - 1
    '''순환문을 돌면서 등록된 글꼴들을 찾습니다. 아래 부분에 대해서는 그다지
    '''어려운 구문이 없을 것입니다. 우리에게 가족 다음으로 아주 친근한 반복문일
    '''따름이니까요. ^^

        strFontName = ctlFontList.List(i + 1)
        Cells(i + 1, 1) = ctlFontList.List(i + 1)
        With Cells(i + 1, 2)
            .Formula = strFontSample
            .Font.Name = strFontName
        End With
        If i > 21 Then ActiveWindow.SmallScroll 1
    Next i

    On Error Resume Next
    cmdBar.Delete
    Columns.AutoFit
    [A1].CurrentRegion.AutoFormat Format:=xlRangeAutoFormatList2, Number:=False, _
        Font:=False, Alignment:=False, Border:=False, Pattern:=True, Width:=False
    '''글꼴을 표시한 다음 자동 서식을 입혀줍니다.

    [A2].Select
End Sub

마무리

새해 벽두부터 너무 머리아픈 것을 하면 신년맞이 기념으로 때려 치우실 지도 모르니까 이만 하도록 하지요. 시간이 없어서 제대로 설명하지 않고 건너뛴 부분은 도움말을 참고하시고 그래도 안되면 질문을 하도록 하세요.

다음 시간에…

정리 — 글꼴 목록 표시 핵심

구분 사용한 코드 역할
컨트롤 찾기 CommandBars("Formatting").FindControl(ID:=1728) 글꼴 콤보 상자 참조
임시 바 생성 CommandBars.Add / Controls.Add(ID:=1728) 컨트롤이 없을 때 대체
시트 준비 Worksheets.Add / FreezePanes 제목 행 고정
목록 읽기 ctlFontList.List(i + 1) 글꼴 이름 조회
샘플 표시 .Font.Name = strFontName 글꼴별 미리보기

자주 묻는 질문 (FAQ)

Q1. 내 PC에 설치된 글꼴 목록을 VBA로 가져오려면 어떻게 하나요?

서식 도구 모음의 글꼴 컨트롤(ID 1728)을 FindControl로 찾아 List 속성을 순환하면 됩니다.

Q2. 컨트롤의 ID 값은 어떻게 알아내나요?

직접 실행창에 MsgBox CommandBars(1).Controls(1).ID 처럼 입력해 각 컨트롤의 ID를 확인할 수 있습니다.

Q3. 서식 도구 모음에 글꼴 컨트롤이 없으면 어떻게 하나요?

임시 CommandBar를 추가하고 Controls.Add(ID:=1728)로 글꼴 컨트롤을 만든 뒤 작업이 끝나면 삭제합니다.

마치며

글꼴 콤보 상자의 ID 1728만 알면 설치된 모든 글꼴을 워크시트에 나열하는 코드를 간단히 만들 수 있습니다.