간단한 Excel Add-in
VSTO 개발환경
Visual Studio 에서 Office Addin 을 개발하기 위해 Visual Studio Tools for Office (VSTO) 을 설치하여 사용한다.
Visual Studio Installer에서 오피스 개발을 위한 VSTO를 체크하여 설치하거나
VS Community Edition과 같이 VSTO가 제공되지 않는 경우는 별도로
https://www.visualstudio.com/vs/office-tools/ 사이트에서 Office Developer Tools 설치한다.
간단한 엑셀 Add-in 작성
Addin을 작성하는 전체 Flow를 익히기 위해 간단한 Excel Addin을 작성해 보자.
- Visual Studio를 실행
- File => New Project => Visual C# => Office/Sharepoint => VSTO Add-ins => Excel 2013 and 2016
VSTO Add-in 선택
-
VS 는 프로젝트 템플릿에 의해 자동으로 필요한 파일들을 생성하는데, 메인 C# 파일은 ThisAddin.cs
로서 다음과 같은 기본 코드를 갖는다.
클래스 ThisAddIn 은 Partial Class
로서 숨겨진 파일 (Hidden File) 인 ThisAddin.Designer.cs 파일에서 여러 멤버 정의(Definition)을 볼
수 있다. 숨겨진 ThisAddin.Designer.cs 파일은 [Solution Explorer] 상단의
[Show All Files] 툴바를 누르면 볼 수 있다.
-
ThisAddin.cs 에는 2 개의 ThisAddIn 이벤트핸들러 메서드가 정의되어 있는데, 처음 Addin 이 시작할
때 수행되는 ThisAddin_Startup()과 Addin 이 종료될 때 수행되는 ThisAddIn_Shutdown()가 있다.
-
Excel 에서 새 Workbook 이 오픈되었을 때, 해당 Workbook 의 이름을 메서지박스에
간단히 표시하는 코드를 아래와 같이 구현한다.
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.WorkbookActivate += Application_WorkbookActivate;
}
private void Application_WorkbookActivate(Excel.Workbook Wb)
{
MessageBox.Show(Wb.Name);
}
Application 은 Excel Application 객체이며, WorkbookActivate 이벤트는 Workbook 이
Activate 되었을 때 실행되는 것으로, 여기에 Application_WorkbookActivate() 메서드를
실행하도록 이벤트 핸들러를 추가하였다.
-
[F5] 를 눌러 프로그램을 실행한다. 이때 VS 는 자동으로 해당 Addin 을 등록하고, Excel 을 구동시켜
Addin 이 동작되도록 한다. 새 Workbook 을 열어 메시지 박스가 뜨는지 확인한다
-
참고로 VS 에서 등록된 Addin 을 삭제하는 하기 위해서는 Build => Clean Solution 을 실행한다.