逐步解說:建立Excel的第一個檔層級自定義

本入門逐步解說將示範如何建立 Microsoft Office Excel 的文件層級自訂。 只有在特定的活頁簿開啟時,才能使用您在這種方案中建立的功能。 您不能使用文件層級自訂來進行應用程式層級的變更,例如在任何活頁簿開啟時顯示新功能區索引標籤。

適用於: 本主題中的資訊適用於 Excel 的文件層級專案。 如需詳細資訊,請參閱 Office 應用程式 lication 和項目類型所提供的功能。

本逐步解說將說明下列工作:

  • 建立 Excel 活頁簿專案。

  • 將文字加入 [Visual Studio 設計工具] 中裝載的工作表。

  • 撰寫可使用 Excel 物件模型的程式碼,該程式碼會在自訂工作表開啟時將文字加入此工作表。

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

  • 清除完成的專案,將不需要的組建檔案和安全性設定從開發電腦上移除。

    注意

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

必要條件

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

建立專案

在 Visual Studio 中建立新的 Excel 活頁簿專案

  1. 啟動 Visual Studio。

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

  3. 在 [ 建立新專案 ] 對話框中,選取 Excel VSTO 活頁簿 專案。

    注意

    您也可以在 [建立新專案] 對話框頂端的 [搜尋] 文本框中輸入 Office 產品名稱來搜尋範本。 例如,輸入 Excel 會顯示 Excel 的所有項目範本。 您也可以選取 [項目類型] 下拉式方塊中的 [Office],篩選範本清單,只顯示 Office 的範本。 如需詳細資訊,請參閱 在Visual Studio中建立新專案。

  4. 按一下 [下一步] 。

  5. 在 [設定新專案] 對話框的 [名稱] 方塊中輸入 FirstWorkbookCustomization,然後按兩下 [建立]。

  6. Visual Studio Tools for Office 專案精靈中選取 [建立新檔],然後按兩下 [確定]。

    • Visual Studio 會 建立 FirstWorkbookCustomization 專案,並將下列檔案新增至專案。

    • FirstWorkbookCustomization.xlsx - 代表專案中的 Excel 活頁簿。 包含所有工作表和圖表。

    • Sheet1 (Visual Basic 的.vb 檔案或 Visual C# 的 .cs 檔案) - 提供活頁簿中第一張工作表的設計介面和程式代碼的工作表。 如需詳細資訊,請參閱 工作表主專案

    • Sheet2 (Visual Basic 的.vb 檔案或 Visual C# 的 .cs 檔案) - 提供活頁簿中第二張工作表之設計介面和程式代碼的工作表。

    • Sheet3 (Visual Basic 的.vb 檔案或 Visual C# 的 .cs 檔案) - 提供活頁簿中第三張工作表之設計介面和程式代碼的工作表。

    • ThisWorkbook (適用於 Visual Basic 的 .vb 檔案或 Visual C# 的 .cs 檔案) - 包含活頁簿層級自定義的設計介面和程式代碼。 如需詳細資訊,請參閱 活頁簿主專案

      Sheet1 程式碼檔案會在此設計工具中自動開啟。

在設計工具中關閉並重新開啟工作表

如果您在開發專案時有意或無意地關閉設計工具中的活頁簿或工作表,您都可以將它重新開啟。

使用設計工具關閉並重新開啟工作表

  1. 按兩下設計工具視窗的 [關閉] 按鈕 (X),以關閉 活頁簿。

  2. 方案總管 中,以滑鼠右鍵按兩下 Sheet1 程式代碼檔案,然後按兩下 [檢視設計工具]。

    - 或 -

    方案總管 中,按兩下 Sheet1 程式代碼檔案。

將文字新增至設計工具中的工作表

您可以修改設計工具中開啟的工作表,藉此設計自訂的使用者介面 (UI)。 例如,您可以將文字加入儲存格、套用公式,或加入 Excel 控制項。 如需如何使用設計工具的詳細資訊,請參閱 Visual Studio環境中的 Office 專案。

使用設計工具將文字加入工作表

  1. 在設計工具中開啟的工作表中,選取 A1 單元格,然後輸入下列文字。

    此文字是使用設計工具新增的。

警告

如果您將這一行文字新增至儲存格 A2,本範例中的其他程式碼將會覆寫它。

以程序設計方式將文字新增至工作表

接著,將程式碼加入 Sheet1 程式碼檔案。 新程式碼會使用 Excel 物件模型,將第二行文字加入活頁簿。 根據預設,Sheet1 程式碼檔案包含下列產生的程式碼:

  • Sheet1 類別的部分定義,此定義代表該工作表的程式設計模型,而且會提供 Excel 物件模型的存取。 如需詳細資訊, 工作表主專案Word 物件模型概觀Sheet1 類別的其餘部分則定義於您不應修改的隱藏程式碼檔中。

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

使用程式碼將第二行文字加入工作表

  1. 方案總管 中,以滑鼠右鍵按兩下 Sheet1,然後按兩下 [檢視程式代碼]。

    程式碼檔案隨即在 Visual Studio 中開啟。

  2. 以下列程式碼取代 Sheet1_Startup 事件處理常式。 當 Sheet1 開啟時,此程式碼會將第二行文字加入工作表。

    private void Sheet1_Startup(object sender, System.EventArgs e)
    {
        Microsoft.Office.Tools.Excel.NamedRange nr =
            this.Controls.AddNamedRange(this.Range["A2"], "NamedRange1");
        nr.Value2 = "This text was added by using code";
    }
    

測試專案

測試您的活頁簿

  1. F5 建置及執行專案。

    當您建置專案時,程式碼會編譯為與活頁簿相關聯的組件。 Visual Studio 會將活頁簿複本和組件置於專案的建置輸出資料夾中,而且會設定開發電腦中的安全性設定以執行自訂。 如需詳細資訊,請參閱 建置 Office 解決方案

  2. 確認活頁簿中出現下列文字:

    此文字是使用設計工具新增的。

    This text was added by using code.

  3. 關閉活頁簿。

清除專案

當您完成專案開發時,必須移除建置輸出資料夾中的檔案和建置程序建立的安全性設定。

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

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

下一步

現在您已經建立 Excel 的基本文件層級自訂,可以從下列主題進一步了解如何開發自訂:

  • 您可以在檔案層級自定義中執行的一般程式設計工作: 程式檔層級自定義

  • Excel 檔層級自定義專屬的程序設計工作: Excel 解決方案

  • 使用 Excel 的物件模型: Excel 物件模型概觀

  • 例如,藉由將自定義索引標籤新增至功能區或建立您自己的動作窗格,來自定義 Excel 的 UI: Office UI 自定義

  • 使用 Visual Studio 中 Office 開發工具提供的擴充 Excel 物件來執行無法使用 Excel 物件模型的工作(例如,在檔和使用 Windows Forms 數據系結模型將 Excel 控件系結至數據上裝載 Managed 控件): 使用擴充物件將 Excel 自動化。

  • 建置和偵錯 Excel 的文件層級自定義: 建置 Office 解決方案

  • 部署 Excel 的文件層級自定義: 部署 Office 解決方案