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

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

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

本文内容

概述

JScript 示例

VBScript 示例

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

概述

要确定基于表单模板的表单的网络连接状态,您可以使用MachineOnlineState对象的属性的应用程序。然后您可以使用相同的应用程序对象的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. 工具菜单上,指向编程,,然后单击加载事件。Microsoft 脚本编辑器将启动并将光标置于OnLoad事件。

  6. OnLoad事件在 Microsoft 脚本编辑器中,替换// Write your code here (JScript) 或' Write your code here (VBScript) 文本复制到文本编辑器中的脚本示例。

  7. 修改脚本示例,以满足您的环境。例如,您可以修改邮件和更改 http://example 到 URL 或 URN 的外部数据源。

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

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

返回页首

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

此信息是否有帮助?

谢谢您的反馈!

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

×