本操作指南演示如何从 Microsoft Office Excel 的文档级自定义程序打开 Windows 窗体,收集用户信息,并将该信息写入工作表单元格。
适用于: 本主题中的信息适用于文档级项目和 VSTO 外接程序项目。 请参阅 Office 应用程序和项目类型提供的功能。
尽管本演练专门使用 Excel 的文档级项目,但本演练演示的概念适用于其他 Office 项目。
先决条件
你需要满足以下条件才能完成本演练:
- 包含 Microsoft Office 开发人员工具的 Visual Studio 版本。 有关详细信息,请参阅 配置计算机以开发 Office 解决方案。 
- Excel 2013 或 Excel 2010 。 
注释
以下说明中的某些 Visual Studio 用户界面元素在计算机上出现的名称或位置可能会不同。 这些元素取决于你所使用的 Visual Studio 版本和你所使用的设置。 有关详细信息,请参阅个性化设置 Visual Studio IDE。
创建新项目
第一步是创建 Excel 工作簿项目。
创建新项目
- 使用名称 WinFormInput 创建 Excel 工作簿项目,然后在向导中选择“ 创建新文档 ”。 有关详细信息,请参阅 如何:在 Visual Studio 中创建 Office 项目。 - Visual Studio 将在设计器中打开新的 Excel 工作簿,并将 WinFormInput 项目添加到 解决方案资源管理器。 
向工作表添加 NamedRange 控件
向 Sheet1 添加命名区域
- 选择 - Sheet1中的单元格 A1。
- 在 “名称 ”框中,键入 formInput。 - “ 名称 ”框位于编辑栏左侧,位于工作表 A 列上方。 
- 按 Enter。 - 控件 NamedRange 将添加到单元格 A1。 工作表上没有可见的指示,但 formInput 显示在“名称”框中(就在左侧的工作表上方)和选择单元格 A1 时在“属性”窗口中。 
将 Windows 窗体添加到项目
创建 Windows 窗体以提示用户输入信息。
添加 Windows 窗口
- 在解决方案资源管理器中选择项目 WinFormInput。 
- 在 “项目 ”菜单上,单击“ 添加 Windows 窗体”。 
- 将窗体 命名为GetInputString.vb 或 GetInputString.cs,然后单击“ 添加”。 - 新窗体将在设计器中打开。 
- 选择该按钮,在“属性”窗口中查找属性“文本”,并将文本更改为“确定”。 - 接下来,向 - ThisWorkbook.vb或- ThisWorkbook.cs添加代码以收集用户信息。
显示 Windows 窗体并收集信息
创建 Windows 窗体的 GetInputString 实例并显示它,然后将用户的信息写入工作表中的单元格中。
显示表单并收集信息
- 右键单击解决方案资源管理器中的ThisWorkbook.vb或ThisWorkbook.cs,然后单击“查看代码”。 
- 在事件处理程序Open中 - ThisWorkbook,添加以下代码来声明窗体- GetInputString的变量,然后显示窗体。- 注释 - 在 C# 中,必须添加事件处理程序,如下所示 Startup 。 有关创建事件处理程序的信息,请参阅 如何:在 Office 项目中创建事件处理程序。 
- 创建一个调用 - WriteStringToCell的方法,用于将文本写入命名区域。 此方法从窗体调用,并且用户的输入将被传递到控件NamedRange,该控件位于单元格- formInput上。- public void WriteStringToCell(string formData) { Globals.Sheet1.formInput.Value2 = formData; }- 接下来,将代码添加到窗体以处理按钮的单击事件。 
将信息发送到工作表
向工作表发送信息
- 在解决方案资源管理器中右键单击 GetInputString,然后单击“视图设计器”。 
- 双击该按钮以打开含有按钮的 Click 事件处理程序的代码文件。 
- 将代码添加到事件处理程序以从文本框中获取输入,将其发送到函数 - WriteStringToCell,然后关闭窗体。
测试
现在可以运行项目。 此时会显示 Windows 窗体,输入将显示在工作表中。
测试工作簿
- 按 F5 运行项目。 
- 确认 Windows 窗体是否出现。 
- 在文本框中键入 Hello World ,然后单击“ 确定”。 
- 确认 Hello World 出现在工作表的 单元格 A1 中。 
后续步骤
本演练演示了显示 Windows 窗体并将数据传递到工作表的基础知识。 你可能希望执行的其他任务包括:
- 在 Excel 工作簿或 Word 文档中使用 Windows 窗体控件。 有关详细信息,请参阅 Office 文档中的 Windows Forms 控件概述。 
- 从文档级自定义或 VSTO 外接程序修改 Microsoft Office 应用程序的用户界面。 有关详细信息,请参阅 Office UI 自定义。