共用方式為


逐步解說:使用 Windows 表單收集資料

本逐步解說示範如何從 Microsoft Office Excel 的文件層級自訂開啟 Windows 表單、從使用者收集資訊,以及將該資訊寫入工作表儲存格。

適用於: 本主題中的資訊適用於文件層級專案和 VSTO 增益集專案。 請參閱 Office 應用程式和專案類型提供的功能

雖然本逐步解說特別使用 Excel 的文件層級專案,但逐步解說所示範的概念適用於其他 Office 專案。

先決條件

您需要下列組件才能完成本步驟解說:

備註

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

建立新專案

第一步是建立 Excel 工作簿專案。

建立新專案

  1. 建立名稱為 WinFormInput 的 Excel 活頁簿專案,然後在精靈中選取 [建立新檔 ]。 如需詳細資訊,請參閱 如何:在 Visual Studio 中建立 Office 專案

    Visual Studio 會在設計工具中開啟新的 Excel 活頁簿,並將 WinFormInput 專案新增至 [方案總管]。

將 NamedRange 控制項新增至工作表

在 Sheet1 中新增具名範圍

  1. 選取儲存格A1上的Sheet1

  2. [名稱 ] 方塊中,輸入 formInput

    [ 名稱 ] 方塊位於編輯列的左側,工作表 A 欄的正上方。

  3. Enter 鍵。

    NamedRange控制項會新增至儲存格 A1。 工作表上沒有可見的指示,但選取儲存格 A1 時,formInput 會出現在 [名稱] 方塊 (左側工作表正上方) 和 [屬性] 視窗中。

將 Windows 表單新增至專案

建立 Windows 表單以提示使用者輸入資訊。

若要新增 Windows 表單

  1. [方案總管] 中選取專案 WinFormInput

  2. 在 [ 專案 ] 功能表上,按一下 [新增 Windows 表單]。

  3. 將表單命名為 GetInputString.vbGetInputString.cs,然後按一下 [新增]。

    新表單會在設計工具中開啟。

  4. 將 a TextBox 和 a Button 新增至表單。

  5. 選取按鈕,在 [屬性] 視窗中尋找 [文字] 屬性,然後將文字變更為 [確定]。

    接下來,將程式碼 ThisWorkbook.vb 新增至 或 ThisWorkbook.cs 以收集使用者的資訊。

顯示 Windows 表單並收集資訊

建立 Windows 表單的 GetInputString 實例並顯示它,然後將使用者的資訊寫入工作表中的儲存格中。

顯示表單及收集資訊

  1. 以滑鼠右鍵按一下 [方案總管] 中的 ThisWorkbook.vbThisWorkbook.cs,然後按一下 [檢視程式碼]。

  2. OpenThisWorkbook事件處理常式中,新增以下程式碼來宣告表單GetInputString的變數,然後顯示表單。

    備註

    在 C# 中,您必須新增事件處理常式,如下列事件所示 Startup 。 如需建立事件處理常式的相關資訊,請參閱 如何:在 Office 專案中建立事件處理常式

    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.Open += new 
            Microsoft.Office.Interop.Excel.WorkbookEvents_OpenEventHandler(ThisWorkbook_Open);
    }
    
    private void ThisWorkbook_Open()
    {
        GetInputString inputForm = new GetInputString();
        inputForm.ShowDialog();
    }
    
  3. 建立名為的方法 WriteStringToCell ,將文字寫入具名範圍。 這個方法是從表單呼叫,而使用者的輸入會傳遞至NamedRange儲存格 formInput 上的控制項

    public void WriteStringToCell(string formData)
    {
        Globals.Sheet1.formInput.Value2 = formData;
    }
    

    接下來,將程式碼新增至表單以處理按鈕的點擊事件。

將資訊傳送至工作表

將資訊傳送至工作表

  1. 以滑鼠右鍵按一下 GetInputString方案總管 中,然後按一下 檢視設計工具

  2. 按兩下按鈕以開啟程式碼檔案,並新增按鈕的 Click 事件處理常式。

  3. 將程式碼新增至事件處理常式,以從文字方塊取得輸入,將它傳送至函式 WriteStringToCell,然後關閉表單。

    Globals.ThisWorkbook.WriteStringToCell(this.textBox1.Text);
    this.Dispose();
    

Test

您現在可以執行專案。 Windows 表單隨即出現,您的輸入會出現在工作表中。

測試活頁簿

  1. 請按 F5 執行您的專案。

  2. 確認 Windows 表單出現。

  3. 在文字方塊中輸入 Hello World ,然後按一下 [確定]。

  4. 確認 Hello World 出現在工作表的儲存格 A1 中。

後續步驟

本逐步解說示範顯示 Windows 表單和將資料傳遞至工作表的基本概念。 您可能想要執行的其他任務包括: