Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

요약

Automation을 사용하면 사용자가 Word에서 수동으로 할 수 있는 거의 모든 Microsoft Office 수 있습니다. 그러나 입력하고 서식을 지정하려는 텍스트가 많은 경우 많은 코드가 필요할 수 있습니다. 데이터를 RTF(리치 텍스트 형식) 문자열로 표현할 수 있는 경우 자동화 코드를 자주 줄일 수 있습니다. RTF 문자열을 만들고, RTF 문자열을 클립보드에 복사한 다음 RTF 문자열을 문서에 붙여넣을 수 있습니다.

이 문서에서는 Word를 시작하고, Visual Basic 문서를 만들고, 미리 빌드된 RTF 문자열을 사용하여 문서에 서식이 지정된 텍스트를 추가하는 간단한 예제를 빌드하는 방법을 설명합니다.

추가 정보

예제 프로젝트를 만들 경우 다음 단계를 수행합니다.

  1. Visual Basic 시작한 다음 새 표준 EXE를 생성합니다. 기본적으로 Form1이라는 폼이 만들어집니다.

  2. 폼에 CommandButton을 추가하고 CommandButton을 두 번 클릭한 다음 다음 코드를 클릭 이벤트에 추가합니다.

    'sRTF represents the rich-text-formatted string to paste into Word
    Dim sRTF As String
    sRTF = "{\rtf1\ansi\ansicpg1252\deff0\deftab720{\fonttbl" & _
    "{\f0\fswiss MS Sans Serif;}{\f1\froman\fcharset2 Symbol;}" & _
    "{\f2\froman\fprq2 Times New Roman;}}" & _
    "{\colortbl\red0\green0\blue0;\red255\green0\blue0;}" & _
    "\deflang1033\horzdoc{\*\fchars }{\*\lchars }" & _
    "\pard\plain\f2\fs24 Line 1 of \plain\f2\fs24\cf1" & _
    "inserted\plain\f2\fs24 file.\par }"

    'Copy the contents of the Rich Text to the clipboard
    Dim lSuccess As Long
    Dim lRTF As Long
    Dim hGlobal As Long
    Dim lpString As Long
    lSuccess = OpenClipboard(Me.hwnd)
    lRTF = RegisterClipboardFormat("Rich Text Format")
    lSuccess = EmptyClipboard
    hGlobal = GlobalAlloc(GMEM_MOVEABLE Or GMEM_DDESHARE, Len(sRTF))
    lpString = GlobalLock(hGlobal)

    CopyMemory lpString, ByVal sRTF, Len(sRTF)
    GlobalUnlock hGlobal
    SetClipboardData lRTF, hGlobal
    CloseClipboard
    GlobalFree hGlobal

    'Paste into a new Word document
    Dim oWord As Object
    Dim oDoc As Object
    Set oWord = CreateObject("word.application")
    Set oDoc = oWord.Documents.Add
    oWord.Selection.Paste
    oWord.Visible = True

  3. 폼 모듈의 일반 선언 섹션에 다음 코드를 추가합니다.

    Private Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function RegisterClipboardFormat Lib "user32" Alias _
    "RegisterClipboardFormatA" (ByVal lpString As String) As Long
    Private Declare Function EmptyClipboard Lib "user32" () As Long
    Private Declare Function CloseClipboard Lib "user32" () As Long
    Private Declare Function SetClipboardData Lib "user32" ( _
    ByVal wFormat As Long, ByVal hMem As Long) As Long
    Private Declare Function GlobalAlloc Lib "kernel32" (ByVal wFlags As Long, _
    ByVal dwBytes As Long) As Long
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
    ByVal Destination As Long, Source As Any, ByVal Length As Long)
    Private Declare Function GlobalUnlock Lib "kernel32" (ByVal hMem As Long) As Long
    Private Declare Function GlobalLock Lib "kernel32" (ByVal hMem As Long) As Long
    Private Declare Function GlobalFree Lib "kernel32" Alias "GlobalFree" ( _
    ByVal hMem As Long) As Long

    Private Const GMEM_DDESHARE = &H2000
    Private Const GMEM_MOVEABLE = &H2
  4. F5 키를 눌러 프로젝트를 실행합니다. Word가 시작된 다음 서식이 지정된 텍스트를 포함하는 새 문서가 만들어집니다.

참조

솔루션 개발을 위한 Office 자세한 내용은 다음 Microsoft 웹 사이트를 방문하세요.



http://support.microsoft.com/ofd http://msdn.microsoft.com/office

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.

이 정보가 유용한가요?

언어 품질에 얼마나 만족하시나요?
사용 경험에 어떠한 영향을 주었나요?
제출을 누르면 피드백이 Microsoft 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×