逐步解說:運用自訂工作窗格自動化應用程式
此逐步解說示範如何建立會自動化 PowerPoint 的自訂工作窗格。 自訂工作窗格會在使用者按一下自訂工作窗格上的 MonthCalendar 控制項時,將日期插入投影片。
**適用於:**本主題中的資訊適用於下列應用程式的應用程式層級專案:Excel 2007 和 Excel 2010、InfoPath 2007 和 InfoPath 2010、Outlook 2007 和 Outlook 2010、PowerPoint 2007 和 PowerPoint 2010、Word 2007 和 Word 2010。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
雖然這個逐步解說特別使用 PowerPoint,但所示範的概念同樣適用以上所列的任何應用程式。
這個逐步解說將說明下列工作:
設計自訂工作窗格的使用者介面。
從自訂工作窗格自動化 PowerPoint。
在 PowerPoint 中顯示自訂工作窗格。
![]() |
---|
在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置: 您所擁有的 Visual Studio 版本和使用的設定決定了這些項目。 如需詳細資訊,請參閱 使用設定。 |
必要條件
您需要下列元件才能完成此逐步解說:
-
包含 Microsoft Office 開發者工具的 Visual Studio 2010 版本。 如需詳細資訊,請參閱[設定電腦以開發 Office 方案](bb398242\(v=vs.100\).md)。
- Microsoft Office PowerPoint 2007 或 Microsoft PowerPoint 2010。
建立增益集專案
第一個步驟是建立 PowerPoint 的增益集專案。
若要建立新的專案
使用 [PowerPoint 增益集] 專案範本建立名為 MyAddIn 的 PowerPoint 增益集專案。 如需詳細資訊,請參閱 HOW TO:在 Visual Studio 中建立 Office 專案。
Visual Studio 會開啟 ThisAddIn.cs 或 ThisAddIn.vb 程式碼檔案,並將 [MyAddIn] 專案加入至 [方案總管]。
設計自訂工作窗格的使用者介面
自訂工作窗格沒有視覺化的設計工具,但是您可以根據需要設計使用者控制項的版面配置。 在此逐步解說後面,您會在自訂工作窗格中加入使用者控制項。
若要設計自訂工作窗格的使用者介面
在 [專案] 功能表上,按一下 [加入使用者控制項]。
在 [加入新項目] 對話方塊中,將使用者控制項的名稱改成 MyUserControl,然後按一下 [加入]。
使用者控制項隨即在設計工具中開啟。
從 [工具箱] 的 [通用控制項] 索引標籤,拖曳 [MonthCalendar] 控制項至使用者控制項。
如果 [MonthCalendar] 控制項大於使用者控制項的設計介面,請配合 [MonthCalendar] 控制項調整使用者控制項的大小。
從自訂工作窗格自動化 PowerPoint
增益集的用途是要在現用簡報的第一張投影片上放入選取的日期。 請使用控制項的 DateChanged 事件,在選取的日期變更時加入該日期。
若要從自訂工作窗格自動化 PowerPoint
在設計工具中,按兩下 MonthCalendar 控制項。
MyUserControl.cs 或 MyUserControl.vb 檔案隨即開啟,而且系統也會建立 DateChanged 事件的事件處理常式。
將下列程式碼加入至檔案的頂端。 此程式碼會建立 Microsoft.Office.Core 和 Microsoft.Office.Interop.PowerPoint 命名空間的別名。
Imports Office = Microsoft.Office.Core Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
using Office = Microsoft.Office.Core; using PowerPoint = Microsoft.Office.Interop.PowerPoint;
將下列程式碼加入 MyUserControl 類別。 此程式碼會將 Shape 物件宣告為 MyUserControl 的成員。 在下列步驟中,您會使用此 Shape,在現用簡報的投影片中加入文字方塊。
Private TextBox As PowerPoint.Shape
private PowerPoint.Shape textbox;
以下列程式碼取代 monthCalendar1_DateChanged 事件處理常式。 此程式碼會在現用簡報的第一張投影片中加入文字方塊,然後在文字方塊中加入目前選取的日期。 這段程式碼會使用 Globals.ThisAddIn 物件來存取 PowerPoint 的物件模型。
Private Sub MonthCalendar1_DateChanged( _ ByVal sender As System.Object, _ ByVal e As System.Windows.Forms.DateRangeEventArgs) _ Handles MonthCalendar1.DateChanged Try If TextBox IsNot Nothing Then TextBox.Delete() End If Dim Slide As 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 = _ System.Drawing.Color.DarkViolet.ToArgb() Catch ex As Exception System.Windows.Forms.MessageBox.Show(ex.ToString()) End Try End Sub
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()); } }
在 [方案總管] 中,以滑鼠右鍵按一下 [MyAddIn] 專案,然後按一下 [建置]。 接著驗證專案建置無誤。
顯示自訂工作窗格
若要在增益集啟動時顯示自訂工作窗格,請在增益集的 Startup 事件處理常式中,將使用者控制項加入至工作窗格。
若要顯示自訂工作窗格
在 [方案總管] 中,展開 [PowerPoint]。
以滑鼠右鍵按一下 [ThisAddIn.cs] 或 [ThisAddIn.vb],並按一下 [檢視程式碼]。
將下列程式碼加入 ThisAddIn 類別。 此程式碼將 MyUserControl 和 CustomTaskPane 的執行個體宣告為 ThisAddIn 類別的成員。
Private myUserControl1 As MyUserControl Private myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane
private MyUserControl myUserControl1; private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
以下列程式碼取代 ThisAddIn_Startup 事件處理常式。 此程式碼建立新的 CustomTaskPane,方法是將 MyUserControl 物件加入至 CustomTaskPanes 集合。 程式碼也會顯示工作窗格。
Private Sub ThisAddIn_Startup(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Me.Startup myUserControl1 = New MyUserControl myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl1, "Calendar") myCustomTaskPane.Visible = True End Sub
private void ThisAddIn_Startup(object sender, System.EventArgs e) { myUserControl1 = new MyUserControl(); myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl1, "Calendar"); myCustomTaskPane.Visible = true; }
測試增益集
當您執行專案時,PowerPoint 會開啟且增益集會顯示自訂工作窗格。 請按一下 MonthCalendar 控制項來測試程式碼。
若要測試增益集
請按 F5 執行您的專案。
確認自訂工作窗格是可見的。
在工作窗格上的 MonthCalendar 控制項中,按一下日期。
現用簡報的第一張投影片中隨即會插入該日期。
後續步驟
您可以在下列主題中,進一步了解如何建立自訂工作窗格:
在增益集中為不同應用程式建立自訂工作窗格。 如需支援自訂工作窗格之應用程式的詳細資訊,請參閱自訂工作窗格概觀。
建立可用於隱藏或顯示自訂工作窗格的功能區按鈕。 如需詳細資訊,請參閱 逐步解說:使用功能區按鈕同步處理自訂工作窗格。
針對在 Outlook 中開啟的每一封電子郵件建立自訂工作窗格。 如需詳細資訊,請參閱 逐步解說:在 Outlook 中的電子郵件訊息顯示自訂工作窗格。
請參閱
工作
逐步解說:在 Outlook 中的電子郵件訊息顯示自訂工作窗格
HOW TO:在 Outlook 中的電子郵件訊息顯示自訂工作窗格