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