연습: Outlook 양식 영역 디자인
사용자 지정 양식 영역은 표준 또는 사용자 지정 Microsoft Office Outlook 양식을 확장합니다.이 연습에서는 연락처 항목의 검사기 창에 새 페이지로 표시되는 사용자 지정 양식 영역을 디자인해 봅니다.이 양식 영역에서는 Windows Live 지역 검색 웹 사이트로 주소 정보를 보내 해당 연락처에 대해 나열되는 각 주소의 맵을 표시합니다.양식 영역에 대한 내용은 Outlook 양식 영역 만들기를 참조하십시오.
적용 대상: 이 항목의 정보는 Outlook 2013 및 Outlook 2010의 응용 프로그램 수준 프로젝트에 적용됩니다. 자세한 내용은 Office 응용 프로그램 및 프로젝트 형식에 따라 사용 가능한 기능을 참조하십시오.
이 연습에서는 다음 작업을 수행합니다.
새 Outlook 추가 기능 프로젝트 만들기
추가 기능 프로젝트에 양식 영역 추가
양식 영역의 레이아웃 디자인
양식 영역의 동작 사용자 지정
Outlook 양식 영역 테스트
[!참고]
일부 Visual Studio 사용자 인터페이스 요소의 경우 다음 지침에 설명된 것과 다른 이름 또는 위치가 시스템에 표시될 수 있습니다.설치한 Visual Studio 버전과 사용하는 설정에 따라 이러한 요소가 결정됩니다.자세한 내용은 Visual Studio 설정을 참조하십시오.
사전 요구 사항
이 연습을 완료하려면 다음 구성 요소가 필요합니다.
-
Microsoft Office 개발자 도구를 포함하는 Visual Studio 2012 버전입니다. 자세한 내용은 [Office 솔루션을 개발할 수 있도록 컴퓨터 구성](bb398242\(v=vs.110\).md)을 참조하십시오.
- Outlook 2013 또는 Outlook 2010
이 항목의 비디오 버전을 보려면 Video How to: Designing an Outlook Form Region을 참조하십시오.
새 Outlook 추가 기능 프로젝트 만들기
먼저 기본적인 추가 기능 프로젝트를 만듭니다.
새 Outlook 추가 기능 프로젝트를 만들려면
Visual Studio에서 MapItAddIn이라는 Outlook 추가 기능 프로젝트를 만듭니다.
새 프로젝트 대화 상자에서 솔루션용 디렉터리 만들기를 선택합니다.
프로젝트를 원하는 디렉터리에 저장합니다.
자세한 내용은 방법: Visual Studio에서 Office 프로젝트 만들기을 참조하십시오.
Outlook 추가 기능 프로젝트에 양식 영역 추가
Outlook 추가 기능 솔루션에는 Outlook 양식 영역 항목이 하나 이상 포함될 수 있습니다.새 Outlook 양식 영역 마법사를 사용하여 프로젝트에 양식 영역 항목을 추가합니다.
Outlook 추가 기능 프로젝트에 양식 영역을 추가하려면
솔루션 탐색기에서 MapItAddIn 프로젝트를 선택합니다.
프로젝트 메뉴에서 새 항목 추가를 클릭합니다.
새 항목 추가 대화 상자에서 Outlook 양식 영역을 선택하고 파일 이름을 MapIt로 지정한 다음 추가를 클릭합니다.
새 Outlook 양식 영역 마법사가 시작됩니다.
양식 영역을 만드는 방법 선택 페이지에서 새 양식 영역 디자인을 클릭하고 다음을 클릭합니다.
만들 양식 영역 형식 선택 페이지에서 별도를 클릭하고 다음을 클릭합니다.
별도 양식 영역은 Outlook 양식에 새 페이지를 추가합니다.양식 영역 형식에 대한 자세한 내용은 Outlook 양식 영역 만들기를 참조하십시오.
설명 텍스트를 입력하고 디스플레이 기본 설정을 선택하십시오. 페이지의 이름 상자에 Map It을 입력합니다.
이 이름은 연락처 항목이 열릴 때 검사기 창의 리본 메뉴에 표시됩니다.
작성 모드의 검사기와 읽기 모드의 검사기를 선택하고 다음을 클릭합니다.
이 양식 영역을 표시할 메시지 클래스를 지정하십시오. 페이지에서 메일 메시지의 선택을 취소하고 연락처를 선택한 다음 마침을 클릭합니다.
MapIt.cs 또는 MapIt.vb 파일이 프로젝트에 추가됩니다.
양식 영역의 레이아웃 디자인
양식 영역 디자이너를 사용하여 양식 영역을 시각적으로 개발할 수 있습니다.관리되는 컨트롤을 양식 영역 디자이너 화면으로 끌어 놓으면 됩니다.그런 다음 디자이너와 속성 창을 사용하여 컨트롤 레이아웃 및 모양을 조정합니다.
양식 영역의 레이아웃을 디자인하려면
솔루션 탐색기에서 MapItAddIn 프로젝트를 확장한 다음 MapIt.cs 또는 MapIt.vb를 두 번 클릭하여 양식 영역 디자이너를 엽니다.
디자이너를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.
속성 창에서 Size를 664, 469로 설정합니다.
이렇게 하면 양식 영역이 맵을 표시하기에 충분하게 커집니다.
보기 메뉴에서 도구 상자를 클릭합니다.
도구 상자의 공용 컨트롤 탭에서 WebBrowser를 양식 영역에 추가합니다.
WebBrowser에 해당 연락처에 대해 나열되는 각 주소의 맵이 표시됩니다.
양식 영역의 동작 사용자 지정
런타임에 양식 영역의 동작 방식을 사용자 지정하는 코드를 양식 영역 이벤트 처리기에 추가할 수 있습니다.이 양식 영역의 경우 코드에서는 Outlook 항목의 속성을 검사하고 Map It 양식 영역을 표시할지 여부를 결정합니다.양식 영역이 표시되면 코드에서는 Windows Live 지역 검색 페이지로 이동하고 Outlook 연락처 항목에 나열되는 각 주소의 맵을 로드합니다.
양식 영역의 동작을 사용자 지정하려면
솔루션 탐색기에서 MapIt.cs 또는 MapIt.vb를 마우스 오른쪽 단추로 클릭한 다음 코드 보기를 클릭합니다.
MapIt.cs 또는 MapIt.vb가 코드 편집기에서 열립니다.
양식 영역 팩터리 코드 영역을 확장합니다.
MapItFactory라는 양식 영역 팩터리 클래스가 노출됩니다.
MapItFactory_FormRegionInitializing 이벤트 처리기에 다음 코드를 추가합니다.이 이벤트 처리기는 연락처 항목을 열 때 호출됩니다.다음 코드에서는 연락처 항목에 주소가 들어 있는지 여부를 확인합니다.연락처 항목에 주소가 들어 있지 않으면 이 코드에서는 FormRegionInitializingEventArgs 클래스의 Cancel 속성을 true로 설정하며 양식 영역은 표시되지 않습니다.그렇지 않으면 추가 기능에서 FormRegionShowing 이벤트를 발생시키고 양식 영역을 표시합니다.
Private Sub MapItFactory_FormRegionInitializing(ByVal sender As Object, ByVal e As Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs) Handles Me.FormRegionInitializing Dim myItem As Outlook.ContactItem = CType(e.OutlookItem, Outlook.ContactItem) If Not (myItem Is Nothing) Then If Not (myItem.BusinessAddress Is Nothing) AndAlso myItem.BusinessAddress.Trim().Length > 0 Or (Not (myItem.HomeAddress Is Nothing) AndAlso myItem.HomeAddress.Trim().Length > 0) Or (Not (myItem.OtherAddress Is Nothing) AndAlso myItem.OtherAddress.Trim().Length > 0) Then Return End If End If e.Cancel = True End Sub
private void MapItFactory_FormRegionInitializing(object sender, Microsoft.Office.Tools.Outlook.FormRegionInitializingEventArgs e) { Outlook.ContactItem myItem = (Outlook.ContactItem)e.OutlookItem; if (myItem != null) { if ((myItem.BusinessAddress != null && myItem.BusinessAddress.Trim().Length > 0) || (myItem.HomeAddress != null && myItem.HomeAddress.Trim().Length > 0) || (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0)) { return; } } e.Cancel = true; }
FormRegionShowing 이벤트 처리기에 다음 코드를 추가합니다.이 코드는 다음 작업을 수행합니다.
연락처 항목의 각 주소를 연결하고 URL 문자열을 만듭니다.
WebBrowser 개체의 Navigate 메서드를 호출하고 URL 문자열을 매개 변수로 전달합니다.
Map It 양식 영역에 지역 검색 웹 사이트가 나타나서 스크래치 패드에 각 주소를 표시합니다.
Private Sub MapIt_FormRegionShowing(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.FormRegionShowing Dim tempLoc As String = "" Dim defaultAddress As String = "" Dim scratchPadAddress As String = "" Dim myItem As Outlook.ContactItem = _ CType(Me.OutlookItem, Outlook.ContactItem) If Not (myItem Is Nothing) Then If Not (myItem.HomeAddress Is Nothing) And _ myItem.HomeAddress.Trim().Length > 0 Then tempLoc = myItem.HomeAddressStreet.Trim() + " " _ + myItem.HomeAddressCity + " " + myItem.HomeAddressState + _ " " + myItem.HomeAddressPostalCode If myItem.HomeAddress = myItem.MailingAddress Then defaultAddress = tempLoc + "_Home" Else scratchPadAddress += "adr." + tempLoc + "_Home~" End If End If If Not (myItem.BusinessAddress Is Nothing) And _ myItem.BusinessAddress.Trim().Length > 0 Then tempLoc = myItem.BusinessAddressStreet.Trim() + " " _ + myItem.BusinessAddressCity + " " + _ myItem.BusinessAddressState + " " + _ myItem.BusinessAddressPostalCode If myItem.BusinessAddress = myItem.MailingAddress Then defaultAddress = tempLoc + "_Business" Else scratchPadAddress += "adr." + tempLoc + "_Business~" End If End If If Not (myItem.OtherAddress Is Nothing) And _ myItem.OtherAddress.Trim().Length > 0 Then tempLoc = myItem.OtherAddressStreet.Trim() + " " + _ myItem.OtherAddressCity + " " + myItem.OtherAddressState + _ " " + myItem.OtherAddressPostalCode If myItem.OtherAddress = myItem.MailingAddress Then defaultAddress = tempLoc + "_Other" Else scratchPadAddress += "adr." + tempLoc + "_Other~" End If End If End If WebBrowser1.Navigate(("http://local.live.com/default.aspx?style=r&where1=" _ + defaultAddress + "&sp=" + scratchPadAddress)) End Sub
private void MapIt_FormRegionShowing(object sender, EventArgs e) { string tempLoc = ""; string defaultAddress = ""; string scratchPadAddress = ""; Outlook.ContactItem myItem = (Outlook.ContactItem)this.OutlookItem; if (myItem != null) { if (myItem.HomeAddress != null && myItem.HomeAddress.Trim().Length > 0) { tempLoc = myItem.HomeAddressStreet.Trim() + " " + myItem.HomeAddressCity + " " + myItem.HomeAddressState + " " + myItem.HomeAddressPostalCode; if (myItem.HomeAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Home"; } else { scratchPadAddress += "adr." + tempLoc + "_Home~"; } } if (myItem.BusinessAddress != null && myItem.BusinessAddress.Trim().Length > 0) { tempLoc = myItem.BusinessAddressStreet.Trim() + " " + myItem.BusinessAddressCity + " " + myItem.BusinessAddressState + " " + myItem.BusinessAddressPostalCode; if (myItem.BusinessAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Business"; } else { scratchPadAddress += "adr." + tempLoc + "_Business~"; } } if (myItem.OtherAddress != null && myItem.OtherAddress.Trim().Length > 0) { tempLoc = myItem.OtherAddressStreet.Trim() + " " + myItem.OtherAddressCity + " " + myItem.OtherAddressState + " " + myItem.OtherAddressPostalCode; if (myItem.OtherAddress == myItem.MailingAddress) { defaultAddress = tempLoc + "_Other"; } else { scratchPadAddress += "adr." + tempLoc + "_Other~"; } } } webBrowser1.Navigate("http://local.live.com/default.aspx?style=r&where1=" + defaultAddress + "&sp=" + scratchPadAddress); }
Outlook 양식 영역 테스트
프로젝트를 실행하면 Outlook이 열립니다.연락처 항목을 열어 Map It 양식 영역을 봅니다.Map It 양식 영역은 주소가 들어 있는 모든 연락처 항목의 양식에 페이지로 나타납니다.
Map It 양식 영역을 테스트하려면
F5 키를 눌러 프로젝트를 실행합니다.
Outlook이 열립니다.
Outlook에서에 홈 탭에서 클릭 새 항목를 클릭 하 고 다음을 클릭 연락처.
연락처 양식에서 연락처 이름으로 Ann Beebe를 입력하고 다음 세 개의 주소를 지정합니다.
주소 형식
주소
근무처
4567 Main St.Buffalo, NY
Home
1234 North St.Buffalo, NY
기타
3456 Main St.Seattle, WA
연락처 항목을 저장하고 닫습니다.
Ann Beebe 연락처 항목을 다시 엽니다.
해당 항목의 리본 메뉴에 있는 표시 그룹에서 Map It을 클릭하여 Map It 양식 영역을 엽니다.
Map It 양식 영역이 나타나고 지역 검색 웹 사이트가 표시됩니다.스크래치 패드에는 근무처, 집 및 기타 주소가 나타납니다.스크래치 패드에서 매핑할 주소를 선택합니다.
다음 단계
다음 항목에서는 Outlook 응용 프로그램의 UI를 사용자 지정하는 방법에 대해 더 자세히 설명합니다.
- Outlook 항목의 리본 메뉴를 사용자 지정하는 방법에 대한 자세한 내용은 Outlook에 대해 리본 메뉴 사용자 지정을 참조하십시오.
참고 항목
작업
방법: Outlook 추가 기능 프로젝트에 양식 영역 추가