엑셀 VBA 참조 Microsoft Forms 2.0 Object Library 참조 추가 3초만에 해결 (FM20.DLL)

이번 포스팅에서는 엑셀 VBA에 Microsoft Forms 2.0 Object Library 참조 추가하는 방법에 대해 알아보았습니다. Microsoft Forms 2.0 Object Library란 무엇이고 어떤 역할을 하는지, 참조에 나타나지 않을때 추가 방법에 대해 정리해보려고 합니다.

VBA(Visual Basic for Applications)는 엑셀에서 사용되는 프로그래밍 언어로, 엑셀 작업을 자동화하거나 사용자 정의 기능을 추가하는 데 도움이 되는 도구입니다. 엑셀에서 일상적인 작업을 더 빠르게 수행하거나 복잡한 계산과 데이터 처리를 위해 사용됩니다.

간단한 예로, 매일 수백 개의 엑셀 행을 정렬하고 색상을 입히는 작업을 수행한다고 할 때 이 작업은 반복적이고 시간이 많이 소요되므로, VBA를 사용하여 작업을 자동화하면 시간을 절약할 수 있습니다.

VBA는 엑셀에서 제공하는 매크로 레코더를 이용하여 간단한 코드를 생성할 수 있습니다. 또한, VBA를 사용하면 사용자 지정 함수나 명령 버튼 등의 컨트롤을 추가하여 엑셀 시트에 특별한 기능을 구현할 수 있습니다.

엑셀의 VBA에서 PutInClipboard 등을 이용하여 클립보드 복사를 하기 위해서는 Microsoft Forms 2.0 Object Library 참조 추가를 해야하는데요, 간혹 해당 라이브러리가 나타나지 않는 경우가 있습니다.

이번 포스팅에서는 우선 Microsoft Forms 2.0 Object Library란 무엇이고 Microsoft Forms 2.0 Object Library 참조에 추가되지 않는 이유와 함께 VBA에 해당 라이브러리를 찾아서 추가하는 방법에 대해 정리해보았습니다.


Microsoft Forms 2.0 Object Library란

Microsoft Forms 2.0 Object Library는 엑셀 VBA에서 사용할 수 있는 컨트롤과 객체를 제공하는 라이브러리입니다. 이 라이브러리를 사용하면 사용자 인터페이스를 보다 쉽게 구성하고, 폼(form)과 컨트롤(예: 텍스트 박스, 버튼, 라디오 버튼 등)을 사용하여 사용자 입력을 처리할 수 있습니다.

Microsoft Forms 2.0 Object Library는 클립보드를 관리하는 기능도 제공합니다. 사실 엑셀 VBA에서 주요 사용 목적이 이 측면이 강한데요, 클립보드는 컴퓨터에서 데이터를 임시로 저장하는 공간으로, 복사(Copy)와 붙여넣기(Paste) 기능을 사용할 때 활용됩니다. 이 라이브러리를 사용하면 엑셀 VBA에서 클립보드에 데이터를 복사하거나 붙여넣기를 수행하는 것이 가능해집니다.

간단한 예로, 사용자가 텍스트 박스에 입력한 내용을 클립보드에 복사하려면 다음과 같이 코드를 작성할 수 있습니다.

Dim MyData As New DataObject 'DataObject 객체 생성
MyData.SetText TextBox1.Text '텍스트 박스의 내용을 DataObject에 저장
MyData.PutInClipboard 'DataObject에 저장된 내용을 클립보드에 복사

Microsoft Forms 2.0 Object Library 참조 추가가 안되어 있는 이유

Microsoft Forms 2.0 Object Library가 엑셀 VBA 참조에서 기본으로 나타나지 않는 이유는 엑셀 버전과 설치 설정에 따라 참조 목록에 자동으로 포함되지 않을 수 있기 때문입니다. 또한, 일부 경우에는 Office 설치 중에 오류가 발생하여 해당 라이브러리가 제대로 등록되지 않았을 수도 있습니다.

이러한 경우 아래 세션에서 소개하 방법으로 FM20.DLL 파일을 추가해주면 됩니다.

FM20.DLL 파일은 Microsoft Forms 2.0 Object Library의 핵심 구성 요소로, 폼과 컨트롤을 제공하는 DLL(dynamic-link library) 파일입니다. 이 파일은 일반적으로 Windows 및 Office 설치 과정에서 자동으로 설치되며, 시스템 폴더 내에 위치하게 됩니다.


Microsoft Forms 2.0 Object Library 참조 추가 방법

Microsoft Forms 2.0 Object Library 참조 추가 방법은 아래와 같이 매우 간단합니다.

참고로 엑셀 VBA의 참조 설정(Reference setting)은 VBA 프로젝트에서 외부 라이브러리 또는 기능을 활용할 수 있도록 해주는 절차입니다. 참조 설정을 통해 VBA 코드가 다른 애플리케이션의 객체, 기능 또는 상수에 접근할 수 있습니다.

1. 엑셀 VBA > 도구 > “참조” 선택

참조 설정은 엑셀 VBA를 연 다음, 상단의 도구 탭에서  참조 실행 메뉴로 진입하든지 실행 단축키 Alt + F11로 열 수 있습니다.

엑셀 VBA 기초

2. 참조 > “찾아보기” 선택

기본적으로 참조 관련 창에서 Microsoft Forms 2.0 Object Library가 나타나지 않는 경우,

Microsoft Forms 2.0 Object Library 참조

아래와 같이 “찾아보기” 버튼을 눌러줍니다.

Microsoft Forms 2.0 Object Library

3. C:\windows\system32 의 “FM20.DLL” 파일 추가

참조 추가 화면이 나타나면 C:\windows\system32 폴더로 이동하여 FM20.DLL 파일을 선택하여 열기를 해줍니다.

해당 파일을 보통 정상적으로 윈도우나 MS365 등을 설치하면 존재하는 파일 입니다.

Microsoft Forms 2.0 Object Library

4. 참조 > “Microsoft Forms 2.0 Object Library” 참조 추가

위와 같은 방법으로  파일을 추가하면 목록에 Microsoft Forms 2.0 Object Library가 추가되면서 자동으로 체크가 됩니다. 확인 버튼을 눌러주면 정상적으로 Microsoft Forms 2.0 Object Library 참조 추가가 됩니다.

Microsoft Forms 2.0 Object Library

위와 같은 방법으로 엑셀 VBA에 Microsoft Forms 2.0 Object Library 참조 추가가 가능합니다.

이번 포스팅에서는 우선 Microsoft Forms 2.0 Object Library란 무엇이고 Microsoft Forms 2.0 Object Library 참조에 추가되지 않는 이유와 함께 VBA에 해당 라이브러리를 찾아서 추가하는 방법에 대해 정리해보았습니다.


앞선 포스팅에서 정리한 엑셀 VBA 사용법 및 노하우 관련 글은 아래와 같습니다.

엑셀 매크로 만들기 (1) 기본 설정 및 VBA 개요

엑셀 매크로 만들기 (2) 엑셀 웹크롤링 코딩 없이 주식정보 가져오기 (네이버증권)

Leave a Comment