設定表單範本偵測表單的連線狀態

附註:  我們想要以您的語言,用最快的速度為您提供最新的說明內容。 本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。讓這些內容對您有所幫助是我們的目的。希望您能在本頁底部告訴我們這項資訊是否有幫助。 此為 英文文章 出處,以供參考。

如果您要設計表單範本的表單依賴網路連線至 [處理程序或傳回的資料,且您熟悉撰寫指令碼,您可以撰寫偵測到的網路連線狀態的表單範本為基礎的指令碼。您可以使用這個指令碼,有 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)

頁面頂端

使用表單範本中的指令碼範例

如果您想要使用的表單範本之前,先測試指令碼範例,您可以建立空白的表單範本,請使用下列程序,然後複製從這份文件的其中一個指令碼範例至這段這段指令碼執行時建立新表單範本為基礎的表單。然後,您可以預覽表單範本的指令碼範例測試您的網路連線中斷或連線至網路、 連線至網路的電腦,但 Internet Explorer 設定為 [離線模式。

  1. 複製其中一本主題中,先前所述的指令碼範例,然後將其貼入 Microsoft 「 記事本 」 等文字編輯器。

    附註: 複製文字編輯器指令碼範例,您將其新增至表單範本之前,可避免超文字標記語言 (HTML) 格式化標記出現在 [指令碼。

  2. 在 InfoPath 中,按一下 [檔案] 功能表上的 [設計表單範本]。

  3. 設計新設計表單範本] 對話方塊中,按一下表單範本,按一下空白,,然後按一下[確定]

  4. 根據預設,新的表單範本設定為使用 JScript 指令碼語言。若要使用 VBScript 指令碼語言,變更的表單範本的指令碼語言。

    如何進行?

    1. 在 [工具] 功能表上按一下 [表單選項]。

    2. 在 [類別] 清單中,按一下 [程式]。

    3. 表單範本的程式碼的語言清單中下程式設計語言,按一下VBScript,然後按一下[確定]

  5. 在 [工具] 功能表上指向程式設計,,然後按一下 [在載入事件。Microsoft Script Editor 開頭的游標位於這段

  6. 這段中 Microsoft Script Editor,取代// Write your code here (JScript) 或' Write your code here (VBScript) 文字複製到文字編輯器] 中的指令碼範例。

  7. 修改以符合您的環境的指令碼範例。例如,您可以修改的訊息,並變更 http://example 的 URL 或 URN 的外部資料來源。

  8. 在 [Microsoft Script Editor,在 [檔案] 功能表上按一下 [儲存

  9. 若要測試變更,請按一下 [標準] 工具列上的 [預覽],或按 CTRL+SHIFT+B。

頁面頂端

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×