Word 문서에 단추를 추가하고 런타임에 Click 이벤트를 할당하는 방법

요약

이 문서에서는 Microsoft Visual Basic for Applications 매크로를 사용하여 프로그래밍 방식으로 Microsoft Word 문서에 컨트롤을 추가하고 해당 컨트롤에 대한 Click 이벤트 처리기를 추가하는 방법을 보여 줍니다.

추가 정보

다음 단계에서는 문서에 컨트롤을 추가하고 런타임에 해당 컨트롤의 Click 이벤트를 할당하는 Word 매크로를 만드는 방법을 보여 줍니다. 단계는 Word용입니다. 그러나 Microsoft Excel 통합 문서에서 프로그래밍 방식으로 컨트롤을 조작하는 데 동일한 개념을 적용할 수 있습니다.

참고

런타임에 Microsoft Office 문서의 Visual Basic Project를 조작하는 기능을 사용하려면 Microsoft Visual Basic for Applications 확장성 라이브러리에 대한 참조가 필요합니다.

샘플을 만드는 단계

  1. Word에서 새 문서를 시작합니다.

  2. Alt+F11을 눌러 Visual Basic 편집기로 이동합니다.

  3. 도구 메뉴에서 참조를 클릭합니다.

  4. Microsoft Visual Basic for Applications 확장성에 대한 참조를 선택합니다.

  5. 새 모듈을 삽입한 다음, 다음 코드 예제를 추가합니다.

    Sub Test()
    
    'Add a command button to a new document
    Dim doc As Word.Document
    Dim shp As Word.InlineShape
    Set doc = Documents.Add
    
    Set shp = doc.Content.InlineShapes.AddOLEControl(ClassType:="Forms.CommandButton.1")
    shp.OLEFormat.Object.Caption = "Click Here"
    
    'Add a procedure for the click event of the inlineshape
    '**Note: The click event resides in the This Document module
    Dim sCode As String
    sCode = "Private Sub " & shp.OLEFormat.Object.Name & "_Click()" & vbCrLf & _
            "   MsgBox ""You Clicked the CommandButton""" & vbCrLf & _
            "End Sub"
    doc.VBProject.VBComponents("ThisDocument").CodeModule.AddFromString sCode
    
    End Sub
    
  6. "Test" 매크로를 실행합니다.

  7. 매크로 "테스트" 실행이 완료되면 새 문서에 새 CommandButton 컨트롤이 표시됩니다. CommandButton 컨트롤을 클릭하면 컨트롤의 Click 이벤트가 발생합니다.

Word 2002 및 Word 2003에 대한 추가 참고 사항

기본적으로 Word VBA 프로젝트에 대한 액세스는 사용하지 않도록 설정됩니다. 사용하지 않도록 설정하면 위의 코드에서 "Visual Basic 프로젝트에 대한 프로그래밍 방식 액세스를 신뢰할 수 없습니다."라는 런타임 오류 '6068'이 생성될 수 있습니다. 이 오류 및 수정 방법에 대한 자세한 내용을 보려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료의 문서를 확인합니다.

282830 Office VBA 프로젝트에 대한 프로그래밍 방식 액세스가 거부됨