建立事件處理常式

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

撰寫時的 Microsoft Office InfoPath 表單範本的指令碼,您通常撰寫程式碼中的表單範本或資料驗證事件處理常式。事件處理常式是函數中的程式碼回應使用者動作或 XML 資料表單中變更為 InfoPath 表單範本。建立事件處理常式的方式取決於您想要使用的事件的類型。請務必在設計模式中建立的事件處理常式,因為 InfoPath 會自動建立的事件處理常式宣告指令碼檔,並讓表單定義 (.xsf) 檔案,讓使用這些事件處理常式的表單範本中的項目。

附註: 雖然您可以手動在指令碼檔案中建立事件處理常式,再手動將適當的元素加入 .xsf 檔案來啟用處理常式,但並不建議這麼做。如果對 .xsf 檔案做了無效的變更,表單範本可能就無法使用。

下表列出每個 InfoPath 事件處理常式和建立他們的步驟。當您建立的表單範本的事件處理常式時,InfoPath 就會啟動 Microsoft 指令碼編輯器 (MSE),並將游標置於該事件處理常式的程式碼。然後,您就可以事件處理常式撰寫指令碼。如需 InfoPath 活動和事件處理常式的詳細資訊,請參閱使用 MSE 說明中的 InfoPath 開發人員參考。

Event handler

Description

Steps for creating

OnAfterChange

使用者變更中指定的控制項繫結至欄位的值後,會執行此事件。例如,您可以在使用者選取清單方塊控制項中的項目後,顯示自訂的 [HTML] 工作窗格。OnValidate事件後,執行此事件。

以滑鼠右鍵按一下表單範本] 或 [資料來源] 工作窗格中的欄位上的控制項,指向捷徑功能表上的程式設計,再按一下 [在之後變更事件

OnAfterImport

成功到同一個表單合併多個表單的使用者後,就會執行此事件。

手動將OnAfterImport事件處理常式宣告直接加入指令碼檔使用 MSE。在設計模式中無法建立此事件處理常式。

OnBeforeChange

此事件執行使用者變更的控制項中的值之後和之前的值會加入至指定的欄位繫結至該控制項。例如,您可以防止使用者之前填寫重複表格中的最後一列中新增額外的列。

以滑鼠右鍵按一下表單範本] 或 [資料來源] 工作窗格中的欄位上的控制項,指向捷徑功能表上的程式設計,再按一下 [上之前變更事件

OnClick

使用者按一下按鈕,此事件相關聯時,會執行此事件。新增按鈕至表單範本後,則可使用此事件。例如,您可以執行複雜的計算欄位中的主資料來源使用的值,當使用者按一下按鈕。

按兩下 [按鈕] 控制項,然後按一下 [按鈕屬性] 對話方塊的 [一般] 索引標籤上的 [編輯表單程式碼

OnContextChange

在表單中,變更焦點時,就會執行此事件。例如,此事件執行,當使用者從 [文字] 方塊可導覽至 [日期選擇器],或使用者切換檢視。所有其他事件發生之後,就會發生此事件。

在 [工具] 功能表上指向程式設計,,然後按一下 [在內容變更事件

OnLoad

每當使用者建立新的表單,或開啟現有表單範本為基礎的表單,就會執行此事件。例如,您可以複製項目清單次要資料來源的主資料來源使用者開啟表單時。

在 [工具] 功能表上指向程式設計,,然後按一下 [在載入事件

OnMergeRequest

合併表單範本為基礎的表單時,會執行此事件。例如,您可以顯示表單合併授與使用者狀態為 [合併] 作業期間的數。

在 [工具] 功能表上按一下 [表單選項]。在 [類別] 清單中,按一下 [進階]。在合併列印的表單,請選取使用自訂程式碼合併列印的核取方塊,然後再按一下編輯

OnSaveRequest

當使用者儲存表單範本為基礎的表單,就會執行此事件。例如,您可以儲存根據多個位置此表單範本,當使用者儲存表單的表單。InfoPath 將此事件的程式碼的兩個其他行︰ 儲存表單與另一列的行會告訴您是否 InfoPath 順利儲存表單。

在 [工具] 功能表上按一下 [表單選項]。在 [類別] 清單中,按一下 [開啟和儲存。在儲存行為] 下選取儲存使用自訂程式碼] 核取方塊,然後再按一下 [編輯

OnSign

當使用者適用於表單的數位簽章,會執行此事件。例如,您可以新增其他資料的費用報表表單中的數位簽章,當使用者登入。

在 [工具] 功能表上指向程式設計,,然後按一下 [在登事件

OnSubmitRequest

當使用者將他或她表單資料送出,就會執行此事件。例如,您可以表單資料送出至安全的 Web 服務當使用者在 [檔案] 功能表中選擇 [提交] 。InfoPath 不支援連線至安全的 Web 服務的資料,因為您需要新增自訂資料連線,可以使用安全 Web 服務。

在 [工具] 功能表上按一下 [送出選項]。選取 [允許使用者傳送此表單核取方塊,按一下 [執行自訂使用的程式碼的巨集指令,,再按一下 [編輯程式碼

OnSwitchView

此事件執行使用者開啟表單範本為基礎的表單時,或切換到另一個表單中的檢視。例如,當使用者切換至的特定檢視,您可以建立包含資料表單的主資料來源中欄位的電子郵件訊息。

在 [工具] 功能表上按一下程式設計,,然後按一下上切換檢視事件

OnValidate

當使用者變更的控制項繫結至欄位中的值,就會執行此事件。例如,當使用者變更特定的控制項中的值,您可以使用使用者輸入的數字和指令碼中的數字計算新值的另一個控制項。OnBeforeChange事件處理常式執行之後,就會發生此事件。

以滑鼠右鍵按一下表單範本] 或 [資料來源] 工作窗格中的欄位上的控制項,指向捷徑功能表上的程式設計,再按一下 [上之後驗證事件

OnVersionUpgrade

當使用者開啟現有的表單,並且使用現有的表單的表單範本的版本號碼早於發行位置中的表單範本的版本號碼時,會執行此事件。當使用者開啟現有的表單時,InfoPath 就會檢查與現有的表單的表單範本的版本號碼。如果表單範本中有較新的版本號碼,InfoPath 就會執行OnVersion事件處理常式當使用者開啟現有的表單。例如,假設您將新欄位新增至現有的表單範本重新發佈,和要新欄位新增至主資料來源,如果使用者開啟現有的表單。此事件,將新欄位新增至主資料來源當使用者開啟現有的表單。

在 [工具] 功能表上按一下 [表單選項]。在 [類別] 清單中,按一下 [版本設定]。在[版本升級] 清單中,按一下 [使用自訂的事件,然後按一下編輯

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

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

這項資訊有幫助嗎?

感謝您的意見反應!

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

×