본문 바로가기
언어 참조

자동화 이해

2023. 8. 7.

자동화(이전의 OLE 자동화)는 애플리케이션이 개발 도구, 매크로 언어 및 자동화를 지원하는 기타 애플리케이션에 개체를 노출하는 데 사용하는 업계 표준 기술인 COM(컴포넌트 개체 모델)의 기능입니다. 예를 들어, 스프레드시트 애플리케이션은 워크시트, 차트, 셀 또는 셀 범위를 각각 다른 유형의 개체로 노출할 수 있습니다. 워드 프로세서에서는 애플리케이션, 문서, 단락, 문장, 북마크 또는 선택 항목과 같은 개체가 노출될 수 있습니다.

애플리케이션이 자동화를 지원하는 경우, 애플리케이션이 노출하는 개체는 Visual Basic에서 액세스할 수 있습니다. Visual Basic을 사용하여 개체에 대한 메서드를 호출하거나 개체의 속성을 가져와 설정하여 이러한 개체를 조작할 수 있습니다.

다음 예제에서는 Excel 개체를 만들고 Excel 개체에 액세스하는 방법을 보여줍니다.

Sub AccessExcelObject()
    Dim excelApp As Object ' Excel Application Object
    Dim excelWorkbook As Object ' Excel Workbook Object

    ' 새로운 Excel 애플리케이션 개체 생성
    Set excelApp = CreateObject("Excel.Application")

    ' Excel을 화면에 표시 (선택 사항)
    excelApp.Visible = True

    ' 새로운 Workbook 추가
    Set excelWorkbook = excelApp.Workbooks.Add

    ' 데이터를 워크시트에 삽입
    excelWorkbook.Worksheets(1).Cells(1, 1).value = "Hello, world."

    ' 삽입된 데이터에 볼드 서식 적용
    excelWorkbook.Worksheets(1).Cells(1, 1).Font.Bold = True

    ' 워크북 저장
    excelWorkbook.SaveAs "D:\파일.xlsx"

    ' 워크북 닫기
    excelWorkbook.Close

    ' Excel 애플리케이션 종료
    excelApp.Quit

    ' 개체 참조 해제
    Set excelWorkbook = Nothing
    Set excelApp = Nothing
End Sub

다음 예제에서는 Microsoft Word 개체를 만들고 Word 개체에 액세스하는 방법을 보여줍니다.

Sub AccessWordObject()
    Dim wordApp As Object ' Word Application Object
    Dim wordDoc As Object ' Word Document Object

    ' 새로운 Word 애플리케이션 개체 생성
    Set wordApp = CreateObject("Word.Application")

    ' Word를 화면에 표시 (선택 사항)
    wordApp.Visible = True

    ' 새로운 문서 추가
    Set wordDoc = wordApp.Documents.Add

    ' 문서에 텍스트 삽입
    wordDoc.Content.text = "Hello, world."

    ' 삽입된 텍스트에 볼드 서식 적용
    wordDoc.Content.Font.Bold = True

    ' 문서 저장
    wordDoc.SaveAs "D:\FILE.docx"

    ' 문서 닫기
    wordDoc.Close
    
    ' Word 애플리케이션 종료
    wordApp.Quit

    ' 개체 참조 해제
    Set wordDoc = Nothing
    Set wordApp = Nothing
End Sub

다음 함수를 사용하여 자동화 개체에 액세스합니다.

CreateObject : 지정된 유형의 새 개체를 만듭니다.

GetObject : 파일에서 개체를 검색합니다.

도움말 출처

Understanding automation (VBA)

Office VBA reference topic

learn.microsoft.com

'언어 참조' 카테고리의 다른 글

Sub 및 Function 프로시저 호출  (0) 2023.08.08
코드에서 괄호 사용  (0) 2023.08.07
다른 응용 프로그램 간의 작업  (0) 2023.08.06
재귀 프로시저 만들기  (0) 2023.08.06
조건부 컴파일 이해  (0) 2023.08.05