語言

逐步解說:設計 Outlook 表單區域

自訂表單區域會擴充標準或自訂 Microsoft Office Outlook 表單。 在本逐步解說中,您將設計自訂表單區域,該區域會在連絡人項目的 [偵測器] 視窗中顯示為新頁面。 此表單區域會顯示連絡人所列出之每個地址的地圖,這是透過將地址資訊傳送至 Windows Live Local 搜尋網站來完成的。 如需表單區域的相關資訊,請參閱 建立 Outlook 表單區域。

適用於: 本主題中的資訊適用於 Outlook 的 VSTO 增益集專案。 如需詳細資訊,請參閱 Office 應用程式和專案類型所提供的功能。

本逐步解說將說明下列工作:

  • 建立新的 Outlook VSTO 增益集專案。

  • 將表單區域新增至 VSTO 增益集專案。

  • 設計表單區域的版面配置。

  • 自訂表單區域的行為。

  • 測試 Outlook 表單區域。

備註

在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置: 您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。 如需詳細資訊,請參閱將 Visual Studio IDE 個人化。

先決條件

您需要下列組件才能完成本步驟解說:

影片連結 如需本主題的影片版本,請參閱 影片教學:設計 Outlook 表單區域。

建立新的 Outlook VSTO 增益集專案

首先建立基本的 VSTO 增益集專案。

建立新的 Outlook VSTO 增益集專案

  1. 在 Visual Studio 中,建立名稱為 MapItAddIn 的 Outlook VSTO 增益集專案。

  2. 在 [新增專案 ] 對話方塊中,選取 [ 建立解決方案的目錄]。

  3. 將專案儲存至任何目錄。

    如需詳細資訊,請參閱 如何:在 Visual Studio 中建立 Office 專案。

將表單區域新增至 Outlook VSTO 增益集專案

Outlook VSTO 增益集解決方案可以包含一或多個 Outlook 表單區域項目。 使用 [ 新增 Outlook 表單區域 ] 精靈,將表單區域項目新增至您的專案。

將表單區域新增至 Outlook VSTO 增益集專案

  1. 在 [方案總管] 中,選取 MapItAddIn 專案。

  2. 在 [專案] 功能表上,按一下 [新增專案]。

  3. 在 [新增項目] 對話方塊中,選取 [Outlook 表單區域],將檔案命名為 MapIt,然後按一下 [新增]。

    [NewOutlook 表單區域] 精靈隨即啟動。

  4. 在 [ 選取您要建立表單區域的方式 ] 頁面上,按一下 [ 設計新的表單區域],然後按一下 [ 下一步]。

  5. 在 [選取您要建立的表單區域類型 ] 頁面上,按一下 [分隔],然後按一下 [下一步]。

    個別的表單區域會將新頁面新增至 Outlook 表單。 如需表單區域類型的詳細資訊,請參閱 建立 Outlook 表單區域。

  6. 在 提供描述性文字並選取您的顯示喜好設定頁面上,於 名稱方塊中輸入 Map It。

    當連絡人項目開啟時,此名稱會出現在 [偵測器] 視窗的功能區上。

  7. 選取 處於撰寫模式的 [檢查器] 和 [ 讀取模式的檢查器],然後按一下 [下一步]。

  8. 在 [識別將顯示此表單區域的郵件類別 ] 頁面上,清除 [郵件訊息],選取 [連絡人],然後按一下 [完成]。

    MapIt.cs或MapIt.vb檔案會新增至您的專案。

設計表單區域的版面配置

使用 表單區域設計工具以視覺化方式開發表單區域。 您可以將受控控制項拖曳至表單區域設計工具介面。 使用設計工具和 [屬性] 視窗來調整控制項版面配置和外觀。

設計表單區域的版面配置

  1. 在 [方案總管] 中,展開 MapItAddIn 專案,然後按兩下 MapIt.cs 或 MapIt.vb 以開啟表單區域設計工具。

  2. 以滑鼠右鍵按一下設計工具,然後按一下 [屬性]。

  3. 在 [屬性] 視窗中,將 [大小] 設定為 664、469。

    這可確保表單區域足夠大以顯示地圖。

  4. 在 [檢視 ] 功能表上,按一下 [工具箱]。

  5. 從 [工具箱] 的 [通用控制項] 索引標籤中,將 WebBrowser 新增至表單區域。

    Web瀏覽器將顯示為聯絡人列出的每個地址的地圖。

自訂表單區域的行為

將程式碼新增至表單區域事件處理常式,以自訂表單區域在執行階段的行為方式。 針對此表單區域,程式碼會檢查 Outlook 專案的屬性,並決定是否要顯示 [Map It] 表單區域。 如果顯示表單區域,程式碼會導覽至 Windows Live 地方搜尋,並載入 Outlook 連絡人項目中列出的每個地址的地圖。

自訂表單區域的行為

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 [ MapIt.cs ] 或 [MapIt.vb],然後按一下 [ 檢視程式碼]。

    MapIt.cs 或 MapIt.vb 會在程式碼編輯器中開啟。

  2. 展開 表單區域工廠程式碼區域。

    已公開名為 MapItFactory 的表單區域處理站類別。

  3. 將下列程式碼新增至 MapItFactory_FormRegionInitializing 事件處理常式。 當使用者開啟連絡人項目時,會呼叫此事件處理常式。 下列程式碼會判斷連絡人項目是否包含地址。 如果連絡人項目不包含地址,則此程式碼會將類別的Cancel屬性設定FormRegionInitializingEventArgs為true,且不會顯示表單區域。 否則,VSTO 增益集會引發FormRegionShowing事件並顯示表單區域。

    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;
    }
    
  4. 將下列程式碼新增至 FormRegionShowing 事件處理常式。 此程式碼會執行下列工作:

    • 串連聯絡人項目中的每個地址,並建立 URL 字串。

    • 呼叫 Navigate 物件的方法 WebBrowser ,並將URL字串作為參數傳遞。

      本地搜尋網站會出現在 Map It 表單區域中,並在便箋本中顯示每個地址。

      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 表單區域

當您執行專案時,Visual Studio 會開啟 Outlook。 開啟連絡人項目以檢視 Map It 表單區域。 [地圖] 表單區域會顯示為包含地址的任何連絡人項目形式的頁面。

測試 Map It 表單區域

  1. 按 F5 以執行專案。

    Outlook 隨即開啟。

  2. 在 Outlook 的 [常用] 索引標籤上,按一下 [新增項目],然後按一下 [連絡人]。

  3. 在連絡表單中,輸入 Ann Beebe 作為連絡人名稱,然後指定下列三個地址。

    地址類型 Address
    商務 4567 Main 街 布法羅,紐約州
    首頁 1234 北聖布法羅, 紐約
    其他 華盛頓州西雅圖主街 3456 號
  4. 儲存並關閉連絡人項目。

  5. 重新開啟 Ann Beebe 聯絡人項目。

    在 Outlook 中,這可以在查找組通過打開聯絡人的地址簿或在搜索人員中輸入 Ann Beebe 來完成。

  6. 在項目功能區的 [ 顯示 ] 群組中,按一下 [ 對應它 ] 以開啟 [對應它] 表單區域。

    「Map It 表單區域會出現,並顯示 Local Search 網站。」 商務、住家、和其他地址會顯示在便箋本中。 在速記板中,選取您要繪製的地址。

後續步驟

您可以從下列主題深入瞭解如何自訂 Outlook 應用程式的 UI: