배움터  
  HOME > 배움터 > Daily Tip
Daily Tip

제품:   Excel 버전:   공통
검색어:   글꼴, 목록, 가져오기
제목:   글꼴 목록 가져오기
     
 

새 페이지 1

  STEP> 살펴보기


글꼴이라는 것이 그리 중요해 보이지 않아도 문서의 전체적인 분위기를 조성하는 양념의 역할을 합니다. Font개체를 통해 글꼴의 종류나 크기 등 설정합니다.

간단히 글꼴의 종류를 얻으려면 워드를 이용합니다. 워드의 개체를 생성하여 FontNames개체를 통해 글꼴의 종류를 얻을 수 있습니다.

다음은 글꼴의 종류를 구하여 엑셀의 워크시트에 글꼴의 이름과 샘플텍스트에 글꼴을 적용하는 예입니다.


Sub FontNames()
Dim wdApp As Object
Dim vFont
Dim r As Long
Dim Sht As Worksheet

// Sample Text를 지정한 상수
Const TEXT1 As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Const TEXT2 As String = "abcdefghijklmnopqrstuvwxyz"
Const TEXT3 As String = "1234567890"

// 작업하려는 워크시트
Set Sht = Sheet1

// CreateObject()를 사용하여 워드에 대해 Late-binding을 시도한다.
Set wdApp = CreateObject("Word.Application")

// 워드를 볼 필요가 없으므로 숨겨둡니다.
wdApp.Visible = False
r = 2

// 워드개체의 FontNames 컬렉션 개체에는
// 글꼴의 이름을 담고 있습니다.
For Each vFont In wdApp.FontNames

// 글꼴의 이름을 첫 번째 열에 출력합니다.
Sht.Cells(r, 1) = vFont

// 샘플 텍스트를 두 번째 열에 출력합니다
Sht.Cells(r, 2) = TEXT1 & TEXT2 & TEXT3

// 샘플 텍스트에 글꼴을 적용합니다.
With Sht.Cells(r, 2).Font
.Name = vFont
.Size = 12
End With
r = r + 1
Next

// 워드를 종료합니다.
wdApp.Quit

// 워드개체를 메모리에서 제거합니다
Set wdApp = Nothing

End Sub
 

 
  참고> Binding
Binding이라는 말은 VBA프로젝트와 COM개체를 묶는다는 의미입니다. 이렇게 함으로써 VBA프로젝트에서 COM개체의 기능을 사용할 수 있습니다.

그 중에서 Early-Binding이라는 것은 도구-참조 메뉴를 통해 참조하는 것을 말합니다. 토드가 실행되기 전에 미리 COM개체를 묶어 사용하는 것이죠. 이렇게 미리 참조를 하면 코딩을 하면서 VBE의 구성원 자동 목록 기능을 통해 COM개체의 속성과 방법을 알 수 있다는 장점이 있습니다.

Late-Binding은 코드를 통해 런타임에 엮는 것을 말합니다. 이 경우 코딩을 하면서 COM개체의 속성과 방법에 대해 아무런 정보를 얻을 수 없습니다. 그러나 Early-Binding처럼 버전이 틀려 Binding이 깨질 염려는 적습니다.