配置表单模板以检测表单的连接状态

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

如果正在设计表单模板的表单依赖于网络连接来处理或返回的数据,并且您已熟悉编写脚本,您可以编写脚本检测基于表单模板的表单的网络连接状态。您可以使用此脚本有 Microsoft Office InfoPath 检查如果新表单连接到网络,和窗体将查询发送到外部数据源之前窗体可以连接到外部数据源。本文提供了 Microsoft JScript 和用于确定是否基于表单模板上的窗体的 Visual Basic Scripting Edition (VBScript) 示例连接到网络和这些窗体可以连接到外部数据源。

本文内容

概述

JScript 示例

VBScript 示例

在表单模板中使用脚本示例

概述

要确定基于表单模板的表单的网络连接状态,您可以使用 Application 对象的 MachineOnlineState 属性。然后,您可以使用同一 Application 对象的 IsDestinationReachable 方法来确定表单是否能找到外部数据源。MachineOnlineState 属性包含一个表示表单的连接状态的值。此属性可以具有以下值:

说明

0

计算机未连接到网络。如果计算机未连接到网络或计算机中的网卡被禁用,则属性可能具有此值。

1

计算机已连接到网络。如果计算机使用网络电缆连接到网络,此值表明计算机已在网络上。如果计算机有可用的无线网卡,则此值表明无线网卡正在工作。但是,计算机可能未连接到无线网络。

",2"

计算机已连接到网络,但 Windows Internet Explorer 被配置为脱机工作。将 Internet Explorer 配置为脱机工作时,与数据库或 Web 服务的数据连接可能无法正常工作。

确定了用户的计算机已连接到网络后,您可以使用 IsDestinationReachable 方法确定表单是否能与外部数据源通信。此方法采用外部数据源的统一资源定位符 (URL) 或统一资源名称 (URN) 作为参数,并返回以下布尔值之一:

True    表单已在网络上找到外部数据源。

False    表单无法找到外部数据源。外部数据源可能处于脱机状态,或可能在网络上但不可用。

本文中的脚本示例只确定表单是否已连接到网络。在本文中,脚本示例将在用户第一次打开表单时使用。但是,每次想要在执行某项操作之前检查网络连接时,您也可以使用此脚本。例如,您可以在用户单击表单中的特定按钮时使用此脚本确定是否存在与外部数据源的网络连接。无论何时选择使用此脚本,取决于表单是否已连接到网络,您还可以添加执行某项操作的脚本。例如,如果计算机处于脱机状态或者无法连接到外部数据源,则可以让 InfoPath 向用户显示一条警告消息,指明外部数据源不可用。您可以自定义警告消息,以告知用户在外部数据源不可用的情况下要怎么做。例如,您可以指示用户稍后尝试填写表单,或让用户与他们的支持服务人员联系。

返回页首

JScript 示例

var machineState = Application.MachineOnlineState;
var displayMessage = machineState;
switch(machineState)
{
case 0:
{
displayMessage = "The computer is not connected to a network.";
break;
}
case 1:
{
if (!Application.IsDestinationReachable("http://example"))
{
displayMessage = "The computer is connected to a network, "
+ "but the external data source is not "
+ "available. Contact the data source "
+ "administrator for more information.";
}
else
{
displayMessage = "The computer is connected to a network.";
}
break;
}
case 2:
{
displayMessage = "The computer is connected to a network, but "
+ "Internet Explorer is in offline mode. Some "
+ "data connections may not work until you "
+ "set Internet Explorer to online mode. To "
+ "switch to online mode, on the File menu in "
+ "Internet Explorer, click Work Offline.";
break;
}
default:
{
displayMessage = "An unknown error occurred: Error: "
+ machineState;
}
}
XDocument.UI.Alert(displayMessage);

返回页首

VBScript 示例

Dim machineState, displayMessage, returnValue
machineState = Application.MachineOnlineState
displayMessage = machineState
returnValue = False
Select Case machineState
Case 0
displayMessage = "The computer is not connected to a network."
Case 1
returnValue = Application.IsDestinationReachable("http://example")
If returnValue = False Then
displayMessage = "The computer is connected to a network, but "
displayMessage = displayMessage + "the external data source is "
displayMessage = displayMessage + "not available. Contact the "
displayMessage = displayMessage + "data source administrator "
displayMessage = displayMessage + "for more information."
Else
displayMessage = "The computer is connected to a network."
End If
Case 2
displayMessage = "The computer is connected to a network, but "
displayMessage = displayMessage + "Internet Explorer is in "
displayMessage = displayMessage + "offline mode. Some data "
displayMessage = displayMessage + "connections may not work "
displayMessage = displayMessage + "until you set Internet "
displayMessage = displayMessage + "Explorer to online mode. "
displayMessage = displayMessage + "To switch to online mode, "
displayMessage = displayMessage + "on the File menu in "
displayMessage = displayMessage + "Internet Explorer, click "
displayMessage = displayMessage + "Work Offline."
Case Else
displayMessage = "An unknown error occurred: Error: "
displayMessage = displayMessage + machineState + "."
End Select
XDocument.UI.Alert(displayMessage)

返回页首

在表单模板中使用脚本示例

在表单模板中使用脚本示例之前,如果想要对其进行测试,您可以使用以下过程创建一个空白表单模板,然后将其中一个脚本示例从本文中复制到 OnLoad 事件。每当创建了一个基于表单模板的新表单时,OnLoad 事件中的脚本就会运行。然后,您可以在以下几种情形下预览表单模板来测试脚本示例:计算机已连接到网络、计算机已断开网络连接,或计算机已连接到网络但 Internet Explorer 设置为脱机模式。

  1. 复制本主题前面列出的其中一个脚本示例,然后将其粘贴到文本编辑器(如 Microsoft 记事本)中。

    注意: 应先将脚本示例复制到文本编辑器,然后再将其添加到表单模板中,这样可防止超文本标记语言 (HTML) 格式标记出现在脚本中。

  2. 在 InfoPath 中的“文件”菜单上,单击“设计表单模板”

  3. “设计表单模板”对话框中的“设计新”下,单击“表单模板”,单击“空白”,然后单击“确定”

  4. 默认情况下,新表单模板已配置为使用 JScript 作为脚本语言。要使用 VBScript 作为脚本语言,请更改表单模板的脚本语言。

    操作方法

    1. “工具”菜单上,单击“表单选项”

    2. “类别”列表中,单击“编程”

    3. “编程语言”下的“表单模板代码语言”列表中,单击“VBScript”,然后单击“确定”

  5. “工具”菜单上,指向“编程”,然后单击“OnLoad 事件”。Microsoft 脚本编辑器将启动,并且光标位于 OnLoad 事件处。

  6. 在 Microsoft 脚本编辑器中的 OnLoad 事件中,将 // 在此处编写代码 (JScript) 或 ' 在此处编写代码 (VBScript) 文本替换为您复制到文本编辑器中的脚本示例。

  7. 修改脚本示例以适合您的环境。例如,您可以修改消息并将 http://示例 更改为您的外部数据源的 URL 或 URN。

  8. 在 Microsoft 脚本编辑器中的“文件”菜单上,单击“保存”

  9. 要测试所做的更改,请单击“常用”工具栏上的“预览”,或者按 Ctrl+Shift+B。

返回页首

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

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

此信息是否有帮助?

谢谢您的反馈!

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

×