逐步解說:運用自訂工作窗格自動化應用程式
更新:2007 年 11 月
適用於 |
---|
本主題中的資訊只適用於指定的 Visual Studio Tools for Office 專案和 Microsoft Office 應用程式。 專案類型
Microsoft Office 應用程式
如需詳細資訊,請參閱依應用程式和專案類型提供的功能。 |
此逐步解說示範如何建立會自動化 PowerPoint 的自訂工作窗格。自訂工作窗格會在使用者按一下自訂工作窗格上的 MonthCalendar 控制項時,將日期插入投影片。
雖然這個逐步解說特別使用 PowerPoint,但所示範的概念同樣適用以上所列的任何應用程式。
此逐步解說將說明下列工作:
設計自訂工作窗格的使用者介面。
從自訂工作窗格自動化 PowerPoint。
在 PowerPoint 中顯示自訂工作窗格。
注意事項: |
---|
在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置:您所擁有的 Visual Studio 版本和使用的設定決定了這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
必要條件
您需要下列元件才能完成此逐步解說:
Visual Studio Tools for Office (Visual Studio 2008 Professional 和 Visual Studio Team System 的選擇性元件)。
Microsoft Office PowerPoint 2007。
根據預設會隨所列出的 Visual Studio 版本安裝 Visual Studio Tools for Office。若要查看是否已安裝,請參閱 安裝 Visual Studio Tools for Office。
建立增益集專案
第一個步驟是建立 PowerPoint 的增益集專案。
若要建立新的專案
以名稱 MyAddIn 建立 PowerPoint 增益集專案,方法是使用 2007 Microsoft Office system 的 PowerPoint 增益集專案範本。如需詳細資訊,請參閱 HOW TO:建立 Visual Studio Tools for 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 類別。此程式碼會將 Microsoft.Office.Interop.PowerPoint.Shape 執行個體宣告為 MyUserControl 的成員。在下列步驟中,您會使用此 Microsoft.Office.Interop.PowerPoint.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 控制項中,按一下日期。
現用簡報的第一張投影片中隨即會插入該日期。
後續步驟
您可以在下列主題中,進一步了解如何建立自訂工作窗格:
在 2007 Microsoft Office system 各應用程式的增益集中,建立自訂工作窗格。如需支援自訂工作窗格之應用程式的詳細資訊,請參閱自訂工作窗格概觀。
建立可用於隱藏或顯示自訂工作窗格的功能區按鈕。如需詳細資訊,請參閱逐步解說:使用功能區按鈕同步處理自訂工作窗格。
針對在 Outlook 中開啟的每一封電子郵件建立自訂工作窗格。如需詳細資訊,請參閱逐步解說:在 Outlook 中的電子郵件訊息顯示自訂工作窗格。
請參閱
工作
逐步解說:在 Outlook 中的電子郵件訊息顯示自訂工作窗格
HOW TO:在 Outlook 中的電子郵件訊息顯示自訂工作窗格