Bit/VB.Net

[VB]OLE Automation using Word (Article)

생각처럼 2012. 2. 3. 17:35

출처 프로페셔널 되기 | 네이밍
원문 http://blog.naver.com/ugigi/70014475645

출처 : http://www.freevbcode.com/ShowCode.asp?ID=3700

 

OLE Automation using Word (Article)

 

Author : ahmed

Category : Miscellaneous

Difficulty : Beginning

 

Version Compatibility : Visual Basic 6

 

More Information : 이 문서는 새로운 word 문서를 생성하고 새롭게 생성된 문서에 내용을 삽입함으로서 OLE automation을 사용하는 방법을 보여준다.

 

25286번 읽혔다.

 

How to use OLE automation?

 

많은 개발자들은 처음에 VB를 통해 개발을 시작한다. OLE, Automation, ActiveX, COM 등등에 대해서 들어보았을 것이다. 하지만 이런 기술 모두에 대해서 알지는 못한다. 여러분이 초보자이고 OLE에 대해서 알기를 원한다면 이 문서를 읽는 것이 좋다. OLE automation 기술을 사용해서 코드를 작성하는 방버을 배울 수 있다.

 

이 프로그램에서, Word 객체를 사용할 것이다. 두개의 객체를 사용할 것이다, 하나는 Word Application class이고 하나는 Word Document 클래스이다. Word application과 Word document를 오픈할 것이다. 사용자는 문서를 저장할 수 있을 것이다. 다음의 절차는 어플리케이션을 생성하기 위한 것이다.

 

새로운 EXE 프로젝트를 시작하라. 메뉴의 [프로젝트 - 참조]에서 Microsoft Word 9.0 object libraryf를 선택하라. 여러분의 컴퓨터에 Word 프로그램에 설치되어 있는 것이 좋다는 것을 기억하라. 프로젝트에 새로운 모듈은 추가한다. 모듈의 일반적인 선언 부분에 다음의 코드를 추가하라:

 

Public objapp as new word.application

Public objdoc as object

 

프로젝트의 폼을 오픈하고 폼에 네개의 버튼을 추가한다. 버튼은 다음과 같은 기능을 한다 :

 

1. 실행

2. 저장

3. 닫기

4. 종료

 

'실행' 버튼을 더블클릭하고 다음의 코드를 추가하라:

 

Private sub cmdLaunch_click()

 

If Not(objdoc is nothing) the

    msgbox "Application already running"

    exit sub

End if

 

objapp.visible = true

 

' 어플리케이션에 도큐먼트 추가하기

 

Set objdoc = objapp.documents.add()

 

' 도큐먼트에 새로운 텍스트 추가하기

objdoc.content = "This is my first OLE application"

 

End Sub

 

코드에 대해서 알아보자. 어플리케이션이 이미 실행중인지 확인한다, 실행중이 아니면 어플리케이션을 디스플레이한다. word application을 열고 새로운 도큐먼트를 추가하고 어플리케이션에 새로운 텍스트를 추가한다.

 

이제 저장 버튼에 코드를 추가한다:

 

Private Sub cmdSave_click()

 

If objDoc is nothing then

    msgbox "Application not running"

else

    objdoc.Save

End If


End sub

 

어플리케이션이 실행중인지 아닌지 체크한다. 실행중이면 도큐먼트를 저장하고 그렇지 않으면 어플리케이션이 실행중이 아니라는 메시지를 출력한다.

 

Private Sub cmdClose_click()

    If objDoc is nothing then

        Insbu "Application not running"

    else

        objApp.Quit

        Set objDoc = Nothing

        Set objApp = Nothing

    End if

End Sub

 

어플리케이션이 실행중인지 아닌지 체크한다. 실행중이면 "Application" 클래스의 "Quit" 메소드를 이용해서 어플리케이션을 종료한다. 어플리케이션을 메모리에서 제거하는 것이 중요하다는 것을 기억하라. 다음의 코드는 메모리에서 객체를 제거한다.

 

Set objDoc = Nothing

Set objApp = Nothing

 

Private Sub cmdExit_Click()

    If objdoc is nothing then

        Unload me

        end

    else

        msgbox "Please close application first"

    End if

End Sub

 

열린 폼을 언로드하고 어플리케이션의 인스턴스를 제거하기 위해서 "End" 명령어를 사용한다. 그것이 다이다.

 

Summary

이 문서는 OLE automation을 사용하는 방법을 보여준다. 이 문서는 VB 환경에서 Word document를 생성하는 방법을 보여준다. 새로운 Word 도큐먼트를 생성하기 위해서 Application과 Document 두개의 클래스만을 사용했다.