본문 바로가기

공부/VBA

VBA - Early Binding vs. Late Binding

Early Binding (초기 바인딩)
  • 도구->참조 대화상자에서 사용하려는 개체 라이브러리(Object Library)를 참조에 포함시킨다.
  • 아래 코드와 같이 개체를 생성
 Dim WordApp As New Word.Application


Late Binding (지연 바인딩)

 Dim WordApp As Object
Set WordApp = CreateObject("Word.Application")


  • Early, Late Binding 둘다 "Word.Application"이라는 이름을 사용하지만 서로 참조하는 것이 다름.
  • Early Binding에서의 "Word.Application"은 개체 라이브러리를 참조.
  • Late Binding에서의 CreateObject함수의 "Word.Application"은 윈도우 레지스트리에 등록된 워드의 자동화 개체를 참조한다.
  • 즉, CreateObject함수의 "Word.Application"은 PC에 설치된 최신의 워드 프로그램을 참조한다.
  • 모든 자동화 개체가 최신 버전을 참조하는 것은 아니다.
  • 예를들어 사용자가 워드2003을 2007로 업그레이드한 경우 CreateObject("Word.Application")함수는 워드2007을 참조한다.
  • 2007을 지우고 워드2003으로 돌아간 경우 CreateObject("Word.Application")함수는 워드2003을 참조한다.
  • 2007을 지웠는데 워드2007버전을 지정해서 사용한 CreateObject("Word.Application.12")함수는 오류를 발생한다.

'공부 > VBA' 카테고리의 다른 글

VBA - Application.OnTime Method  (0) 2011.04.19
VBA - format 함수 사용법  (0) 2011.04.19
VBA - Me keyword  (0) 2011.04.18