逐步解說:建立 Excel 的第一個應用程式層級增益集
本入門逐步解說將示範如何建立 Microsoft Office Excel 的應用程式層級增益集。不論開啟哪一份活頁簿,您在這類方案中建立的功能都可供應用程式本身使用。
**適用於:**本主題中的資訊適用於 Excel 2013 和 Excel 2010 的應用程式層級專案。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能。
這個逐步解說將說明下列工作:
建立 Excel 的 Excel 增益集專案。
撰寫可使用 Excel 物件模型的程式碼,儲存活頁簿時便可加入文字。
建置和執行專案來進行測試。
清除已完成的專案,好讓增益集不要在開發電腦上自動執行。
注意事項 |
---|
您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
必要條件
您需要下列元件才能完成此逐步解說:
-
包含 Microsoft Office Developer 工具的 Visual Studio 2012 版本。如需詳細資訊,請參閱[設定電腦以開發 Office 方案](bb398242\(v=vs.110\).md)。
- Excel 2013 或 Excel 2010。
建立專案
若要在 Visual Studio 中建立新的 Excel 增益集專案
啟動 Visual Studio。
在 [檔案] 功能表上,指向 [新增],然後按一下 [專案]。
在範本窗格中,展開 Visual C# 或 [ Visual Basic],然後展開 [Office SharePoint/]。
在展開的 Office SharePoint/ 節點下,選取 [Office 增益集] 節點。
在專案範本清單中,選取 [Excel 2010 增益集] 或 [Excel 2013 增益集]。
在 [名稱] 方塊中,輸入 FirstExcelAddIn。
按一下 [確定]。
Visual Studio 會建立 FirstExcelAddIn 專案,並在編輯器中開啟 ThisAddIn 程式碼檔。
撰寫程式碼以將文字加入儲存的活頁簿
接著,將程式碼加入至 ThisAddIn 程式碼檔。新程式碼會使用 Excel 物件模型,將未定案文字插入現用工作表的第一列中。現用工作表是使用者儲存活頁簿時所開啟的工作表。根據預設,ThisAddIn 程式碼檔包含下列產生的程式碼:
ThisAddIn 類別的部分定義。這個類別提供您撰寫程式碼的進入點 (Entry Point),並提供對 Excel 物件模型的存取。如需詳細資訊,請參閱應用程式層級增益集程式設計。ThisAddIn 類別的其餘部分則定義於您不應修改的隱藏程式碼檔中。
ThisAddIn_Startup 和 ThisAddIn_Shutdown 事件處理常式。當 Excel 載入和卸載增益集時,會呼叫這些事件處理常式。請使用這些事件處理常式,在增益集載入時將它初始化,以及在增益集卸載時清除它所用的資源。如需詳細資訊,請參閱Office 專案中的事件。
若要將一行文字加入至儲存的活頁簿
在 ThisAddIn 程式碼檔中,加入下列程式碼至 ThisAddIn 類別。新的程式碼會定義 WorkbookBeforeSave 事件的事件處理常式,該事件是在儲存活頁簿時所引發的。
當使用者儲存活頁簿時,事件處理常式會將新文字加入至現用工作表開頭。
Private Sub Application_WorkbookBeforeSave(ByVal Wb As Microsoft.Office.Interop.Excel.Workbook, ByVal SaveAsUI As Boolean, ByRef Cancel As Boolean) Handles Application.WorkbookBeforeSave Dim activeWorksheet As Excel.Worksheet = CType(Application.ActiveSheet, Excel.Worksheet) Dim firstRow As Excel.Range = activeWorksheet.Range("A1") firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown) Dim newFirstRow As Excel.Range = activeWorksheet.Range("A1") newFirstRow.Value2 = "This text was added by using code" End Sub
void Application_WorkbookBeforeSave(Microsoft.Office.Interop.Excel.Workbook Wb, bool SaveAsUI, ref bool Cancel) { Excel.Worksheet activeWorksheet = ((Excel.Worksheet)Application.ActiveSheet); Excel.Range firstRow = activeWorksheet.get_Range("A1"); firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown); Excel.Range newFirstRow = activeWorksheet.get_Range("A1"); newFirstRow.Value2 = "This text was added by using code"; }
如果使用的是 C#,請將下列必要的程式碼加入 ThisAddIn_Startup 事件處理常式中。這段程式碼是用來連接 Application_WorkbookBeforeSave 事件處理常式和 WorkbookBeforeSave 事件。
this.Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave);
若要在儲存活頁簿時修改活頁簿,前面的程式碼範例可以使用下列物件:
ThisAddIn 類別的 Application 欄位。Application 欄位會傳回 Microsoft.Office.Interop.Excel.Application 物件,此物件代表 Excel 目前的執行個體。
WorkbookBeforeSave 事件的事件處理常式的 Wb 參數。Wb 參數是 Microsoft.Office.Interop.Excel.Workbook 物件,此物件代表儲存的活頁簿。如需詳細資訊,請參閱Excel 物件模型概觀。
測試專案
若要測試專案
按 F5 建置及執行專案。
當您建置專案時,程式碼會編譯到包含在專案建置輸出資料夾中的組件。Visual Studio 也會建立一組登錄項目,好讓 Excel 探索和載入增益集,而且會設定開發電腦中的安全性設定以執行增益集。如需詳細資訊,請參閱建置 Office 方案。
使用 Excel 儲存該活頁簿。
確認下列文字已加入活頁簿中。
This text was added by using code.
關閉 Excel。
清除專案
當您完成專案開發時,請從開發電腦移除增益集組件、登錄項目和安全性設定。否則,每次在開發電腦上開啟 Excel 時,增益集將會繼續執行。
若要清除開發電腦上已完成的專案
- 在 Visual Studio 中,按一下 [建置] 功能表上的 [清除方案]。
後續步驟
現在您已經建立 Excel 的基本應用程式層級增益集,可以從下列主題進一步了解如何開發增益集:
您可以在增益集中執行的一般程式設計工作:應用程式層級增益集程式設計。
Excel 增益集專有的程式設計工作:Excel 方案。
使用 Excel 物件模型:Excel 物件模型概觀。
自訂 Excel 的使用者介面 (UI),例如,透過將自訂索引標籤加入至功能區,或建立您專屬自訂工作窗格的方式:Office UI 自訂。
建置及偵錯 Excel 應用程式層級增益集:建置 Office 方案。
部署 Excel 應用程式層級增益集:部署 Office 方案。