Share via


逐步解說:設計 Outlook 窗體區域

自訂的表單區域會擴充標準或自訂的 Microsoft Office Outlook 表單。 在此逐步解說中,您要設計自訂的表單區域,它在連絡人項目的 [偵測器] 視窗中會顯示為新頁面。 這個表單區域會將地址資訊傳送至 Windows Live 當地搜尋網站,顯示連絡人清單中每個地址的對應。 如需表單區域的相關信息,請參閱 建立 Outlook 窗體區域

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

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

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

  • 在 VSTO 增益集專案中加入表單區域。

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

  • 自訂表單區域的行為。

  • 測試 Outlook 表單區域。

注意

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

必要條件

您需要下列元件才能完成這個逐步解說:

link to video 如需本主題的影片版本,請參閱 影片如何:設計 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. 在 [提供描述性文字],然後選取您的顯示喜好設定頁面,在 [名稱] 方塊中輸入 [對應]。

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

  7. 選取 處於撰寫模式 的偵測器,以及 處於讀取模式的偵測器,然後按 [ 下一步]。

  8. 在 [ 識別將顯示此窗體區域] 頁面的訊息類別上,清除 [郵件訊息],選取 [ 聯繫人],然後按兩下 [ 完成]。

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

設計表單區域的版面配置

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

設計表單區域的版面配置

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

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

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

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

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

  5. 從 [工具箱] 的 [通用控件] 索引標籤,將 WebBrowser 新增至窗體區域。

    WebBrowser 會顯示聯繫人所列之每個位址的地圖。

自定義表單區域的行為

在表單區域事件處理常式中加入程式碼,以自訂表單區域在執行階段的行為方式。 程式碼會檢查此表單區域的 Outlook 項目屬性,並決定是否要顯示 Map It 表單區域。 如果它顯示表單區域,程式碼會瀏覽至 Windows Live 當地搜尋,並載入 Outlook 連絡人項目中所列的每個地址的對應。

自訂表單區域的行為

  1. 方案總管 中,以滑鼠右鍵按兩下 MapIt.csMapIt.vb,然後按兩下 [檢視程式代碼]。

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

  2. 展開表單 區域 Factory 程式代碼區域。

    即會公開名為 MapItFactory 的表單區域 Factory 類別。

  3. 將下列程式碼加入至 MapItFactory_FormRegionInitializing 事件處理常式。 當使用者開啟連絡人項目時,即會呼叫這個事件處理常式。 下列程式碼會判斷連絡人項目是否包含地址。 如果聯繫人專案不包含位址,此程式代碼會將 類別的 FormRegionInitializingEventArgs 屬性設定Canceltrue,而且不會顯示表單區域。 否則,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 字串。

    • 呼叫 WebBrowser 物件的Navigate 方法,並將 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 表單區域會顯示為頁面。

測試 Map It 表單區域

  1. F5 執行專案。

    Outlook 即開啟。

  2. 在 Outlook 的 [首頁 ] 索引標籤上,按兩下 [新增專案],然後按兩下 [ 連絡人]。

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

    地址類型 位址
    公司 4567 主要聖布法羅, 紐約
    首頁 1234 北聖布法羅, 紐約
    其他 3456 Main St. Seattle, WA
  4. 儲存並關閉連絡人項目。

  5. 重新開啟 Ann Beebe 聯繫人專案。

    在 Outlook 中,開啟聯繫人通訊錄或在搜尋 人員 中輸入 Ann Beebe,即可在 [尋找] 群組中完成此動作。

  6. 專案功能區的 [顯示 ] 群組中,按兩下 [對應它] 以開啟 [對應它 ] 表單區域。

    Map It 表單區域即出現並顯示當地搜尋網站。 商務家用和其他位址會出現在臨時板中。 在便條簿中選取想要對應的地址。

下一步

從這些主題,您可以進一步了解如何自訂 Outlook 應用程式的 UI:

  • 若要瞭解如何自定義 Outlook 專案的功能區,請參閱 自定義 Outlook 的功能區。