创建事件处理程序

注意:  我们希望能够尽快以你的语言为你提供最新的帮助内容。 本页面是自动翻译的,可能包含语法错误或不准确之处。我们的目的是使此内容能对你有所帮助。可以在本页面底部告诉我们此信息是否对你有帮助吗? 请在此处查看本文的 英文版本 以便参考。

在编写脚本 Microsoft Office InfoPath 表单模板时,您通常编写代码中选择一种表单模板或数据有效性事件处理程序。事件处理程序响应用户操作或对窗体中的 XML 数据更改为 InfoPath 表单模板中的函数代码。创建事件处理程序的方式取决于您想要使用的事件的类型。请务必在设计模式中创建事件处理程序,因为 InfoPath 自动脚本文件中创建的事件处理程序声明,并使启用可使用这些事件处理程序的表单模板的表单定义 (.xsf) 文件中的条目。

注意: 尽管脚本文件中手动创建事件处理程序,然后通过.xsf 文件中手动添加适当的元素来启用它们,但不建议。如果对.xsf 文件进行无效的更改,可能无法使用表单模板。

下表列出了每个 InfoPath 事件处理程序和创建它们的步骤。当您创建的事件处理程序的表单模板时,InfoPath 将启动 Microsoft 脚本编辑器 (MSE),并将光标放在该事件处理程序的代码中。然后,您可以为事件处理程序编写脚本。有关 InfoPath 事件和事件处理程序的详细信息,请参阅 InfoPath 开发人员参考,帮助 MSE 中可用。

事件处理程序

说明

创建的步骤

OnAfterChange

用户指定的控件绑定到的字段中的值更改后,将运行此事件。例如,您可以自定义 HTML 任务窗格后显示在用户选择列表框控件中的项目。OnValidate事件之后运行此事件。

右键单击窗体模板或数据源任务窗格中的字段上的控件,在快捷菜单上,指向编程,然后单击在之后更改事件

OnAfterImport

用户成功将多个表单合并到一个窗体后,将运行此事件。

使用手动添加OnAfterImport事件处理程序声明直接到的脚本文件 MSE。在设计模式中无法创建此事件处理程序。

OnBeforeChange

用户在控件中的值更改后,在将值添加到指定的字段绑定到该控件之前执行该事件。例如,您可以防止用户填写重复表中的最后一行之前添加的其他行。

右键单击窗体模板或数据源任务窗格中的字段上的控件,在快捷菜单上,指向编程,然后单击在之前更改事件

OnClick

用户单击与该事件关联的按钮时,将运行此事件。表单模板中添加一个按钮后,此事件才可用。例如,您可以执行复杂计算主数据源中的字段中使用的值,当用户单击按钮。

双击该按钮控件,然后单击按钮属性对话框中的常规选项卡上的编辑表单代码

OnContextChange

当焦点更改窗体中时,将运行此事件。例如,当用户从文本框中导航到日期选取器,或者当用户切换视图执行该事件。在所有其他事件发生后,将发生此事件。

工具菜单上,指向编程,,然后单击上下文更改事件

OnLoad

此事件,只要用户创建一个新的窗体或打开现有窗体基于表单模板上运行。例如,您可以将复制项目的列表从辅助数据源向主数据源用户打开该窗体时。

工具菜单上,指向编程,,然后单击加载事件

OnMergeRequest

基于表单模板的表单合并时,将运行此事件。例如,您可以显示已合并在一起以合并操作期间授予用户的状态的窗体的数目。

工具菜单上,单击表单选项。在类别列表中,单击高级。在合并表单选择使用自定义代码复选框,然后单击编辑

OnSaveRequest

当用户保存基于表单模板的表单时,将运行此事件。例如,您可以保存用户保存窗体时基于到多个位置此表单模板的表单。InfoPath 将两个附加代码行添加到此事件: 保存窗体和其他行的行告诉您是否 InfoPath 成功保存窗体。

工具菜单上,单击表单选项。在类别列表中,单击打开和保存。下保存行为,请选择使用自定义代码复选框,然后单击编辑

OnSign

此事件运行时用户适用于窗体的数字签名。例如,可以将其他数据添加到用金报销单的数字签名中,当用户对其进行签名。

工具菜单上,指向编程,,然后单击上登录事件

一起

当用户提交他或她表单数据时,将运行此事件。例如,您可以在用户单击文件菜单上的提交时提交表单数据发送到安全 Web 服务。由于 InfoPath 不支持安全的 Web 服务数据连接,您需要添加与安全的 Web 服务配合工作的自定义数据连接。

工具菜单上,单击提交选项。选择允许用户提交此表单复选框,单击自定义使用代码执行操作,然后单击编辑代码

OnSwitchView

此事件运行用户打开基于表单模板的表单时,或切换到窗体中的另一个视图。例如,当用户切换到的特定视图,您可以创建电子邮件,其中包含从窗体的主数据源中的字段的数据。

工具菜单上单击编程,,然后单击切换视图事件

OnValidate

用户在控件绑定到的字段值更改时,将运行此事件。例如,当用户更改特定控件中的值,您可以使用用户输入的数字和脚本中的数字计算新值的另一个控件。OnBeforeChange事件处理程序运行之后,将发生此事件。

右键单击窗体模板或数据源任务窗格中的字段上的控件,在快捷菜单上,指向编程,然后单击在之后验证事件

OnVersionUpgrade

此事件运行时用户打开现有窗体和使用现有窗体的窗体模板的版本号低于发布位置中的表单模板的版本号。当用户打开现有窗体时,InfoPath 将检查与现有窗体关联的表单模板的版本号。如果表单模板具有较新的版本号,InfoPath 将用户打开现有窗体时运行OnVersion事件处理程序。例如,假设新字段添加到现有表单模板和重新发布它,并想要添加到主数据源,如果用户打开现有窗体的新字段。用户打开现有窗体时,此事件将新字段添加到主数据源。

工具菜单上,单击表单选项。在类别列表中,单击版本控制。在在版本升级列表中,单击使用自定义事件,,然后单击编辑

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×