共用方式為


逐步解說:建立 Excel 的第一個應用程式層級增益集

本入門逐步解說將示範如何建立 Microsoft Office Excel 的應用程式層級增益集。 不論開啟哪一份活頁簿,您在這類方案中建立的功能都可供應用程式本身使用。

**適用於:**本主題中的資訊適用於 Excel 2007 和 Excel 2010 的應用程式層級專案。如需詳細資訊,請參閱依 Office 應用程式和專案類型提供的功能

這個逐步解說將說明下列工作:

  • 建立 Excel 的 Excel 增益集專案。

  • 撰寫可使用 Excel 物件模型的程式碼,儲存活頁簿時便可加入文字。

  • 建置和執行專案來進行測試。

  • 清除已完成的專案,好讓增益集不要在開發電腦上自動執行。

注意事項注意事項

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

必要條件

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

-

包含 Microsoft Office 開發者工具的 Visual Studio 2010 版本。 如需詳細資訊,請參閱[設定電腦以開發 Office 方案](bb398242\(v=vs.100\).md)。
  • Microsoft Office Excel 2007 或 Excel 2010。

建立專案

若要在 Visual Studio 中建立新的 Excel 增益集專案

  1. 啟動 Visual Studio。

  2. 在 [檔案] 功能表上,指向 [新增],然後按一下 [專案]。

  3. 在 [範本] 窗格中,展開 [Visual C#] 或 [Visual Basic],然後展開 [Office]。

  4. 在展開的 [Office] 節點底下,選取 [2007] (如果您已安裝 Excel 2007) 或選取 [2010] 節點 (如果您已安裝 Excel 2010)。

  5. 在專案範本清單中,選取 [Excel 2007 增益集] 或 [Excel 2010 增益集]。

  6. 在 [名稱] 方塊中,輸入 FirstExcelAddIn。

  7. 按一下 [確定]。

    Visual Studio 會建立 FirstExcelAddIn 專案,並在編輯器中開啟 ThisAddIn 程式碼檔。

撰寫程式碼以將文字加入儲存的活頁簿

接著,將程式碼加入至 ThisAddIn 程式碼檔。 新程式碼會使用 Excel 物件模型,將未定案文字插入現用工作表的第一列中。 現用工作表是使用者儲存活頁簿時所開啟的工作表。 根據預設,ThisAddIn 程式碼檔包含下列產生的程式碼:

  • ThisAddIn 類別的部分定義。 這個類別提供您撰寫程式碼的進入點 (Entry Point),並提供對 Excel 物件模型的存取。 如需詳細資訊,請參閱應用程式層級增益集程式設計。 ThisAddIn 類別的其餘部分則定義於您不應修改的隱藏程式碼檔中。

  • ThisAddIn_Startup 和 ThisAddIn_Shutdown 事件處理常式。 當 Excel 載入和卸載增益集時,會呼叫這些事件處理常式。 請使用這些事件處理常式,在增益集載入時將它初始化,以及在增益集卸載時清除它所用的資源。 如需詳細資訊,請參閱 Office 專案中的事件

若要將一行文字加入至儲存的活頁簿

  1. 在 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", missing);
        firstRow.EntireRow.Insert(Excel.XlInsertShiftDirection.xlShiftDown, System.Type.Missing);
        Excel.Range newFirstRow = activeWorksheet.get_Range("A1", missing);
        newFirstRow.Value2 = "This text was added by using code";
    }
    
  2. 如果使用的是 C#,請將下列必要的程式碼加入 ThisAddIn_Startup 事件處理常式中。 這段程式碼是用來連接 Application_WorkbookBeforeSave 事件處理常式和 WorkbookBeforeSave 事件。

    this.Application.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(Application_WorkbookBeforeSave);
    

若要在儲存活頁簿時修改活頁簿,前面的程式碼範例可以使用下列物件:

測試專案

若要測試專案

  1. F5 建置及執行專案。

    當您建置專案時,程式碼會編譯到包含在專案建置輸出資料夾中的組件。 Visual Studio 也會建立一組登錄項目,好讓 Excel 探索和載入增益集,而且會設定開發電腦中的安全性設定以執行增益集。 如需詳細資訊,請參閱 Office 方案建置程序概觀

  2. 使用 Excel 儲存該活頁簿。

  3. 確認下列文字已加入活頁簿中。

    This text was added by using code.

  4. 關閉 Excel。

清除專案

當您完成專案開發時,請從開發電腦移除增益集組件、登錄項目和安全性設定。 否則,每次在開發電腦上開啟 Excel 時,增益集將會繼續執行。

若要清除開發電腦上已完成的專案

  • 在 Visual Studio 中,按一下 [建置] 功能表上的 [清除方案]。

後續步驟

現在您已經建立 Excel 的基本應用程式層級增益集,可以從下列主題進一步了解如何開發增益集:

請參閱

概念

Office 方案開發概觀

其他資源

Excel 方案

應用程式層級增益集程式設計

Excel 物件模型概觀

Office UI 自訂

建置和偵錯 Office 方案

部署 Office 方案

Office 專案範本概觀