逐步解說:從自定義工作窗格自動執行應用程式

此逐步解說示範如何建立會自動化 PowerPoint 的自訂工作窗格。 自訂工作窗格會在使用者按一下自訂工作窗格上的 MonthCalendar 控制項時,將日期插入投影片。

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

雖然這個逐步解說特地使用 PowerPoint,但所示範的概念同樣適用以上所列的任何應用程式。

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

  • 設計自訂工作窗格的使用者介面。

  • 從自訂工作窗格自動化 PowerPoint。

  • 在 PowerPoint 中顯示自訂工作窗格。

注意

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

必要條件

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

建立載入宏專案

第一個步驟是建立適用於PowerPoint的 VSTO 載入宏專案。

建立新的專案

  1. 使用 [PowerPoint 增益集] 專案範本建立名為 MyAddIn的 PowerPoint VSTO 增益集專案。 如需詳細資訊,請參閱 如何:在Visual Studio中建立 Office專案。

    Visual Studio 會開啟 ThisAddIn.csThisAddIn.vb 程式代碼檔案,並將 MyAddIn 專案新增方案總管

設計自定義工作窗格的使用者介面

自訂工作窗格沒有視覺化的設計工具,但是您可以根據需要設計使用者控制項的版面配置。 稍後在本逐步解說中,您會將使用者控制項加入自訂工作窗格。

設計自訂工作窗格的使用者介面

  1. 在 [專案] 功能表上,按一下 [加入使用者控制項]

  2. 在 [加入新項目] 對話方塊中,將使用者控制項的名稱變更為 MyUserControl,然後按一下 [加入]

    使用者控制項隨即在設計工具中開啟。

  3. 從 [工具箱] 的 [通用控制項] 索引標籤,將 MonthCalendar 控制項拖曳至使用者控制項。

    如果 MonthCalendar 控制項大於使用者控制項的設計介面,請配合 MonthCalendar 控制項調整使用者控制項的大小。

從自定義工作窗格將PowerPoint自動化

VSTO 增益集的用途是要在現用簡報的第一張投影片上放入選取的日期。 請使用控制項的 DateChanged 事件,在選取的日期變更時加入該日期。

若要從自訂工作窗格自動化 PowerPoint

  1. 在設計工具中,按兩下 MonthCalendar 控制項。

    MyUserControl.csMyUserControl.vb 檔案隨即開啟,而且系統也會建立 DateChanged 事件的事件處理常式。

  2. 將下列程式碼新增至檔案開頭處。 此程式代碼會建立 Microsoft.Office.CorePowerPoint 命名空間的別名。

    using Office = Microsoft.Office.Core;
    using PowerPoint = Microsoft.Office.Interop.PowerPoint;
    
  3. 將下列程式碼加入 MyUserControl 類別。 此程式代碼會將 Shape 物件宣告為的成員 MyUserControl。 在下列步驟中,您將使用此 Shape 將文字框新增至使用中簡報中的投影片。

    private PowerPoint.Shape textbox;
    
  4. 以下列程式碼取代 monthCalendar1_DateChanged 事件處理常式。 此程式碼會在現用簡報的第一張投影片中加入文字方塊,然後在文字方塊中加入目前選取的日期。 這段程式碼會使用 Globals.ThisAddIn 物件來存取 PowerPoint 的物件模型。

    private void monthCalendar1_DateChanged(object sender, DateRangeEventArgs e)
    {
        try
        {
            if (textbox != null)
            {
                textbox.Delete();
            }
    
            PowerPoint.Slide slide =
                Globals.ThisAddIn.Application.ActivePresentation.Slides[1];
            textbox = slide.Shapes.AddTextbox(
                Office.MsoTextOrientation.msoTextOrientationHorizontal,
                50, 100, 600, 50);
            textbox.TextFrame.TextRange.Text = e.Start.ToLongDateString();
            textbox.TextFrame.TextRange.Font.Size = 48;
            textbox.TextFrame.TextRange.Font.Color.RGB =
                 Color.DarkViolet.ToArgb();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
    
  5. 在 [方案總管] 中,以滑鼠右鍵按一下 MyAddIn 專案,然後按一下 [建置] 。 確認專案建置無誤。

顯示自定義工作窗格

若要在 VSTO 增益集啟動時顯示自訂工作窗格,請在 VSTO 增益集的 Startup 事件處理常式中,將使用者控制項加入工作窗格。

若要顯示自訂工作窗格

  1. 展開 [方案總管] 中的 [PowerPoint]

  2. 以滑鼠右鍵按一下 ThisAddIn.csThisAddIn.vb ,然後按一下 [檢視程式碼]

  3. 將下列程式碼加入 ThisAddIn 類別。 此程式碼會將 MyUserControlCustomTaskPane 的執行個體宣告為 ThisAddIn 類別的成員。

    private MyUserControl myUserControl1;
    private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
    
  4. 以下列程式碼取代 ThisAddIn_Startup 事件處理常式。 此程式碼會建立新的 CustomTaskPane ,方法是將 MyUserControl 物件加入 CustomTaskPanes 集合。 程式碼也會顯示工作窗格。

    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        myUserControl1 = new MyUserControl();
        myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "Calendar");
        myCustomTaskPane.Visible = true;
    }
    

測試載入宏

當您執行專案時,PowerPoint 會開啟且 VSTO 增益集會顯示自訂工作窗格。 請按一下 MonthCalendar 控制項來測試程式碼。

測試 VSTO 增益集

  1. F5 執行您的專案。

  2. 確認自訂工作窗格已顯示。

  3. 在工作窗格上的 MonthCalendar 控制項中,按一下日期。

    現用簡報的第一張投影片中隨即會插入該日期。

下一步

您可以透過下列主題,進一步了解如何建立自訂工作窗格:

  • 針對不同的應用程式,在 VSTO 載入宏中建立自定義工作窗格。 如需支援自定義工作窗格之應用程式的詳細資訊,請參閱 自定義工作窗格

  • 建立可用來隱藏或顯示自訂工作窗格的功能區按鈕。 如需詳細資訊,請參閱 逐步解說:使用功能區按鈕同步處理自定義工作窗格。

  • 針對在 Outlook 中開啟的每一封電子郵件建立自訂工作窗格。 如需詳細資訊,請參閱 逐步解說:在 Outlook 中使用電子郵件訊息顯示自定義工作窗格。