逐步解說:建立第一個適用於 Excel 的 VSTO 載入宏
本入門逐步解說將示範如何建立 Microsoft Office Excel 的應用程式層級增益集。 不論開啟哪一份活頁簿,您在這類方案中建立的功能都可供應用程式本身使用。
適用於: 本主題中的資訊適用於 Excel 的 VSTO 載入宏專案。 如需詳細資訊,請參閱 Office 應用程式 lication 和項目類型所提供的功能。
注意
有興趣開發跨多個平台擴充 Office 體驗的解決方案嗎? 查看新的 Office 載入宏模型。 相較於 VSTO 載入宏和解決方案,Office 載入宏的使用量很小,而且您可以使用幾乎任何 Web 程式設計技術來建置它們,例如 HTML5、JavaScript、CSS3 和 XML。
本逐步解說將說明下列工作:
建立 Excel 的 Excel VSTO 增益集專案。
撰寫可使用 Excel 物件模型的程式碼,儲存活頁簿時便可加入文字。
建置和執行專案來進行測試。
清除已完成的專案,使得 VSTO 增益集不再於開發電腦上自動執行。
注意
在下列指示的某些 Visual Studio 使用者介面項目中,您的電腦可能會顯示不同的名稱或位置: 您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。 如需詳細資訊,請參閱將 IDE 個人化。
必要條件
您需要下列元件才能完成這個逐步解說:
此版 Visual Studio 包含 Microsoft Office Developer Tools。 如需詳細資訊,請參閱 設定計算機來開發 Office 解決方案。
Excel 2013 或 Excel 2010 。
建立專案
在 Visual Studio 中建立新的 Excel VSTO 增益集專案
啟動 Visual Studio。
在 [檔案] 功能表上,指向 [開新檔案] ,然後按一下 [專案] 。
在範本窗格中,展開 [Visual C#] Deploying Office Solutions 或 [Visual Basic] ,然後展開 [Office/SharePoint] 。
在展開的 [Office/SharePoint] 節點下,選取 [Office 增益集] 節點。
在專案範本清單中,選取 [Excel 2010 增益集] Deploying Office Solutions 或 [Excel 2013 增益集] 。
在 [名稱] Deploying Office Solutions 方塊中,輸入 FirstExcelAddIn。
按一下 [確定]。
Visual Studio 會 建立 FirstExcelAddIn 專案,並在編輯器中開啟 ThisAddIn 程式代碼檔案。
撰寫程式代碼以將文字新增至儲存的活頁簿
接著,將程式碼加入 ThisAddIn 程式碼檔。 新程式碼會使用 Excel 物件模型,將未定案文字插入現用工作表的第一列中。 現用工作表是使用者儲存活頁簿時所開啟的工作表。 根據預設,ThisAddIn 程式碼檔包含下列產生的程式碼:
ThisAddIn
類別的部分定義。 這個類別提供您撰寫程式碼的進入點,並提供對 Excel 物件模型的存取。 如需詳細資訊,請參閱 程式 VSTO 載入宏。類別的ThisAddIn
其餘部分定義於您不應該修改的隱藏程式代碼檔案中。ThisAddIn_Startup
和ThisAddIn_Shutdown
事件處理常式。 當 Excel 載入和卸載 VSTO 增益集時,會呼叫這些事件處理常式。 請使用這些事件處理常式,在 VSTO 增益集載入時將它初始化,以及在增益集卸載時清除它所用的資源。 如需詳細資訊,請參閱 Office 專案中的事件。
將一行文字加入儲存的活頁簿
在 ThisAddIn 程式碼檔中,將下列程式碼加入
ThisAddIn
類別。 新的程式碼會定義 WorkbookBeforeSave 事件的事件處理常式,該事件是在儲存活頁簿時所引發的。當使用者儲存活頁簿時,事件處理常式會將新文字加入現用工作表開頭。
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);
若要在儲存活頁簿時修改活頁簿,前面的程式碼範例可以使用下列物件:
Application
類別的ThisAddIn
類別的部分定義。Application
欄位會傳回 Application 物件,此物件代表 Excel 目前的執行個體。Wb
事件之事件處理常式的 WorkbookBeforeSave 參數。Wb
參數是 Workbook 物件,此物件代表儲存的活頁簿。 如需詳細資訊,請參閱 Excel 物件模型概觀。
測試專案
測試專案
按 F5 建置及執行專案。
當您建置專案時,程式碼會編譯到包含在專案建置輸出資料夾中的組件。 Visual Studio 也會建立一組登錄項目,以便 Excel 探索和載入 VSTO 增益集,而且會設定開發電腦中的安全性設定,讓 VSTO 增益集可以執行。 如需詳細資訊,請參閱 建置 Office 解決方案。
在 Excel 中儲存活頁簿。
請確認已將下列文字加入活頁簿。
This text was added by using code.
關閉 Excel。
清除專案
當您完成專案開發時,請從開發電腦移除 VSTO 增益集組件、登錄項目和安全性設定。 否則,每次在開發電腦上開啟 Excel 時,VSTO 增益集將會繼續執行。
清除開發電腦上已完成的專案
- 在 Visual Studio 中,按一下 [建置] 功能表上的 [清除方案] 。
下一步
現在您已經建立 Excel 的基本 VSTO 增益集,可以從下列主題進一步了解如何開發 VSTO 增益集:
您可以在 VSTO 載入宏中執行的一般程式設計工作: 程式 VSTO 載入宏。
Excel VSTO 載入宏特有的程序設計工作: Excel 解決方案。
使用 Excel 的物件模型: Excel 物件模型概觀。
例如,將自定義索引標籤新增至功能區或建立您自己的自定義工作窗格,來自定義 Excel 的使用者介面(UI): Office UI 自定義。
建置和偵錯適用於 Excel 的 VSTO 載入宏: 建置 Office 解決方案。
部署適用於 Excel 的 VSTO 載入宏: 部署 Office 解決方案。