逐步解說:建立第一個適用於 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 中建立新的 Excel VSTO 增益集專案

  1. 啟動 Visual Studio。

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

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

  4. 在展開的 [Office/SharePoint] 節點下,選取 [Office 增益集] 節點。

  5. 在專案範本清單中,選取 [Excel 2010 增益集] Deploying Office Solutions 或 [Excel 2013 增益集]

  6. 在 [名稱] Deploying Office Solutions 方塊中,輸入 FirstExcelAddIn

  7. 按一下 [確定]

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

撰寫程式代碼以將文字新增至儲存的活頁簿

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

  • ThisAddIn 類別的部分定義。 這個類別提供您撰寫程式碼的進入點,並提供對 Excel 物件模型的存取。 如需詳細資訊,請參閱 程式 VSTO 載入宏。類別的 ThisAddIn 其餘部分定義於您不應該修改的隱藏程式代碼檔案中。

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

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

  1. 在 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";
    }
    
  2. 如果使用的是 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 物件模型概觀

測試專案

測試專案

  1. F5 建置及執行專案。

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

  2. 在 Excel 中儲存活頁簿。

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

    This text was added by using code.

  4. 關閉 Excel。

清除專案

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

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

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

下一步

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