การสร้างตัวจัดการเหตุการณ์

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

เมื่อต้องการเขียนสคริปต์สำหรับเทมเพลตฟอร์ม Microsoft Office InfoPath คุณมักจะเขียนโค้ดฟอร์มหนึ่งในตัวจัดการเหตุการณ์ตรวจสอบเทมเพลตหรือข้อมูล ตัวจัดการเหตุการณ์เป็นรหัสฟังก์ชันในแม่แบบฟอร์ม InfoPath ที่ตอบสนองต่อผู้ใช้หรือการเปลี่ยนแปลงข้อมูลแบบ XML ในฟอร์ม วิธีที่คุณสร้างตัวจัดการเหตุการณ์ขึ้นอยู่กับชนิดของเหตุการณ์ที่คุณต้องการใช้ เป็นเรื่องสำคัญเมื่อต้องการสร้างตัวจัดการเหตุการณ์ในโหมดออกแบบเนื่องจาก InfoPath ประกาศของตัวจัดการเหตุการณ์ที่สร้างในไฟล์สคริปต์ และทำให้รายการในไฟล์ข้อกำหนด (.xsf) ฟอร์มที่เปิดใช้งานเทมเพลตฟอร์มเพื่อใช้ตัวจัดการเหตุการณ์เหล่านั้น

หมายเหตุ: ถึงแม้ว่าจะสามารถสร้างตัวจัดการเหตุการณ์ในแฟ้มสคริปต์ได้ด้วยตนเอง แล้วเปิดใช้งานตัวจัดการเหตุการณ์โดยการเพิ่มองค์ประกอบที่เหมาะสมลงในแฟ้ม .xsf ด้วยตนเองได้ แต่ก็ไม่แนะนำให้ทำเช่นนี้ เพราะถ้าทำการเปลี่ยนแปลงที่ไม่ถูกต้องในแฟ้ม .xsf แม่แบบฟอร์มอาจใช้ไม่ได้

ตารางต่อไปนี้แสดงรายการแต่ละชนิดตัวจัดการเหตุการณ์ที่ InfoPath และขั้นตอนสำหรับการสร้างเหล่านั้น เมื่อคุณสร้างตัวจัดการเหตุการณ์สำหรับเทมเพลตฟอร์ม InfoPath เริ่มต้น Microsoft Script Editor (MSE) และเคอร์เซอร์วางในโค้ดสำหรับตัวจัดการเหตุการณ์นั้น คุณสามารถเขียนสคริปต์ตัวจัดการเหตุการณ์นั้น สำหรับข้อมูลโดยละเอียดเกี่ยวกับเหตุการณ์ InfoPath และตัวจัดการเหตุการณ์ ดูข้อมูลอ้างอิงสำหรับนักพัฒนา InfoPath ซึ่งจะพร้อมใช้งานในวิธีใช้ MSE

Event handler

Description

Steps for creating

OnAfterChange

เหตุการณ์นี้ทำงานหลังจากที่ผู้ใช้เปลี่ยนค่าในตัวควบคุมที่ระบุที่ถูกผูกไว้กับเขตข้อมูล ตัวอย่างเช่น คุณสามารถแสดงบานหน้าต่างงาน HTML แบบกำหนดเองหลังจากที่ผู้ใช้เลือกข้อมูลในตัวควบคุมกล่องรายการ เหตุการณ์นี้ทำงานหลังจากOnValidateเหตุการณ์

คลิกขวาที่ตัวควบคุมบนเทมเพลตฟอร์หรือเขตข้อมูลในบานหน้าต่างงานแหล่งข้อมูล ชี้ไปที่การเขียนโปรแกรม บนเมนูทางลัด แล้ว คลิ กบนหลังการเปลี่ยนแปลงเหตุการณ์

OnAfterImport

เหตุการณ์นี้ทำงานหลังจากที่ผู้ใช้หลายฟอร์มผสานเสร็จเรียบร้อยแล้วลงในฟอร์มหนึ่ง

เพิ่มด้วยตนเองที่ประกาศตัวจัดการเหตุการณ์OnAfterImportโดยตรงไปยังไฟล์สคริปต์ โดยใช้ MSE ตัวจัดการเหตุการณ์นี้ไม่สามารถสร้างได้ในโหมดออกแบบ

OnBeforeChange

เหตุการณ์นี้ทำงานหลัง จากที่ผู้ใช้เปลี่ยนค่าในตัวควบคุม และ ก่อนที่ค่าจะถูกเพิ่มลงในเขตข้อมูลที่ระบุที่ถูกผูกไว้กับตัวควบคุมนั้น ตัวอย่างเช่น คุณสามารถป้องกันไม่ให้ผู้ใช้จากการเพิ่มแถวเพิ่มเติมก่อนที่จะกรอกแถวสุดท้ายในตารางที่เกิดซ้ำ

คลิกขวาที่ตัวควบคุมบนเทมเพลตฟอร์หรือเขตข้อมูลในบานหน้าต่างงานแหล่งข้อมูล ชี้ไปที่การเขียนโปรแกรม บนเมนูทางลัด จากนั้น คลิ กบนก่อนที่จะเปลี่ยนแปลงเหตุการณ์

OnClick

เหตุการณ์นี้ทำงานเมื่อผู้ใช้คลิกปุ่มเกี่ยวข้องกับเหตุการณ์นี้ เหตุการณ์นี้จะพร้อมใช้งานหลังจากที่คุณเพิ่มปุ่มลงในเทมเพลตฟอร์ม ตัวอย่างเช่น คุณสามารถดำเนินการคำนวณที่ซับซ้อน โดยใช้ค่าในเขตข้อมูลในแหล่งข้อมูลหลักเมื่อผู้ใช้คลิกที่ปุ่ม

ดับเบิลคลิกที่ตัวควบคุมปุ่ม และบนแท็บทั่วไป ของกล่องโต้ตอบคุณสมบัติของปุ่ม คลิกแก้ไขโค้ดฟอร์ม

OnContextChange

เหตุการณ์นี้ทำงานเมื่อเปลี่ยนโฟกัสในฟอร์ม ตัวอย่างเช่น เหตุการณ์นี้ทำงาน เมื่อผู้ใช้ออกจากกล่องข้อความนำทางไปยังตัวใช้เลือกวันที่ หรือ เมื่อผู้ใช้สลับมุมมอง เหตุการณ์นี้เกิดขึ้นหลังจากที่เกิดเหตุการณ์อื่น ๆ ทั้งหมด

บนเมนูเครื่องมือ ชี้ไปที่การเขียนโปรแกรม แล้ว คลิ กบนบริบทเปลี่ยนแปลงเหตุการณ์

OnLoad

เหตุการณ์นี้ทำงานเมื่อใดก็ ตามที่ผู้ใช้สร้างฟอร์มใหม่ หรือเปิดฟอร์มที่มีอยู่โดยยึดตามเทมเพลตของคุณฟอร์ม ตัวอย่างเช่น คุณสามารถคัดลอกรายการของข้อมูลจากแหล่งข้อมูลรองไปยังแหล่งข้อมูลหลักเมื่อผู้ใช้เปิดฟอร์ม

บนเมนูเครื่องมือ ชี้ไปที่การเขียนโปรแกรม จากนั้น คลิ กบนโหลดเหตุการณ์

OnMergeRequest

เหตุการณ์นี้ทำงานเมื่อฟอร์มที่ยึดตามเทมเพลตของคุณฟอร์มจะผสาน ตัวอย่างเช่น คุณสามารถแสดงตัวเลขของฟอร์มที่มีผสานแก่ผู้ใช้สถานะในระหว่างการดำเนินการผสาน

บนเมนูเครื่องมือ คลิกตัวเลือกฟอร์ม ในรายการประเภท คลิกขั้นสูง ภายใต้ผสานฟอร์ม เลือกกล่องกาเครื่องหมายผสานโดยใช้โค้ดแบบกำหนดเอง แล้ว คลิ กแก้ไข

OnSaveRequest

เหตุการณ์นี้ทำงานเมื่อผู้ใช้จะบันทึกฟอร์มโดยยึดตามเทมเพลฟอร์มของคุณ ตัวอย่างเช่น คุณสามารถบันทึกฟอร์มโดยยึดตามเทมเพลตนี้ฟอร์มมากกว่าหนึ่งตำแหน่งที่ตั้งเมื่อผู้ใช้ฟอร์มที่จะบันทึก InfoPath เพิ่มโค้ดสองบรรทัดที่เพิ่มเติมให้เหตุการณ์นี้: เส้นที่จะบันทึกฟอร์มและแผนภูมิเส้นอื่นที่บอกคุณด้วยถ้า InfoPath บันทึกฟอร์มเรียบร้อยแล้ว

บนเมนูเครื่องมือ คลิกตัวเลือกฟอร์ม ในรายการประเภท คลิกเปิด และบันทึก ไว้ ภายใต้ลักษณะบันทึก และเลือกกล่องกาเครื่องหมายบันทึกโดยใช้โค้ดแบบกำหนดเอง แล้ว คลิ กแก้ไข

OnSign

เหตุการณ์นี้ทำงานเมื่อผู้ใช้ที่ใช้ลายเซ็นดิจิทัลลงในฟอร์ม ตัวอย่างเช่น คุณสามารถเพิ่มข้อมูลเพิ่มเติมไปที่ลายเซ็นดิจิทัลของฟอร์มรายงานที่มีค่าใช้จ่ายเมื่อผู้ใช้ลงชื่อเข้าใช้ได้

บนเมนูเครื่องมือ ชี้ไปที่การเขียนโปรแกรม แล้ว คลิ กเหตุการณ์บนเครื่องหมาย

OnSubmitRequest

เหตุการณ์นี้ทำงานเมื่อผู้ใช้ส่งข้อมูลฟอร์มของบุคคล นั้น ตัวอย่างเช่น คุณสามารถส่งข้อมูลฟอร์มการรักษาความปลอดภัยกบริการเว็บเมื่อผู้ใช้คลิกส่ง บนเมนูไฟล์ เนื่องจาก InfoPath ไม่สนับสนุนการเชื่อมต่อข้อมูลไปยังบริการเว็บ secure คุณจำเป็นต้องเพิ่มการเชื่อมต่อข้อมูลแบบกำหนดเองที่ทำงานร่วมกับบริการเว็บของคุณปลอดภัย

บนเมนูเครื่องมือ คลิกตัวเลือกส่ง เลือกกล่องกาเครื่องหมายอนุญาตให้ผู้ใช้ส่งฟอร์มนี้ คลิกแอคชันแบบกำหนดเองโดยใช้โค้ด และจากนั้น คลิกแก้ไขโค้ด

OnSwitchView

เหตุการณ์นี้ทำงานเมื่อผู้ใช้เปิดฟอร์มโดยยึดตามเทมเพลตของคุณฟอร์ม หรือสลับไปยังมุมมองอื่นในฟอร์ม ตัวอย่างเช่น เมื่อผู้ใช้สลับไปยังมุมมองที่เฉพาะเจาะจง คุณสามารถสร้างข้อความอีเมลที่ประกอบด้วยข้อมูลจากเขตข้อมูลในแหล่งข้อมูลหลักของฟอร์ม

บนเมนูเครื่องมือ คลิกProgramming แล้ว คลิ กบนสลับมุมมองเหตุการณ์

OnValidate

เหตุการณ์นี้ทำงานเมื่อผู้ใช้เปลี่ยนค่าในตัวควบคุมที่ถูกผูกไว้กับเขตข้อมูล ตัวอย่าง เมื่อผู้ใช้เปลี่ยนแปลงค่าในตัวควบคุมที่เฉพาะเจาะจง คุณสามารถคำนวณค่าใหม่สำหรับตัวควบคุมอื่น โดยใช้ตัวเลขที่ผู้ใช้ใส่และตัวเลขที่อยู่ในสคริปต์ เหตุการณ์นี้เกิดขึ้นหลังจากเรียกใช้ตัวจัดการเหตุการณ์OnBeforeChange

คลิกขวาที่ตัวควบคุมบนเทมเพลตฟอร์หรือเขตข้อมูลในบานหน้าต่างงานแหล่งข้อมูล ชี้ไปที่การเขียนโปรแกรม บนเมนูทางลัด แล้ว คลิ กบนหลังจากการตรวจสอบเหตุการณ์

OnVersionUpgrade

เหตุการณ์นี้ทำงานเมื่อผู้ใช้เปิดฟอร์มที่มีอยู่ และหมายเลขรุ่นของแม่แบบฟอร์มที่สามารถใช้ฟอร์มที่มีอยู่เป็นเก่ากว่าหมายเลขรุ่นของแม่แบบฟอร์มในตำแหน่งที่ตั้งประกาศ เมื่อผู้ใช้เปิดฟอร์มที่มีอยู่ InfoPath ตรวจสอบหมายเลขรุ่นของแม่แบบฟอร์มที่เกี่ยวข้องกับฟอร์มที่มีอยู่ ถ้าเทมเพลตฟอร์มีหมายเลขเวอร์ชันที่ใหม่กว่า InfoPath เรียกใช้ตัวจัดการเหตุการณ์OnVersionเมื่อผู้ใช้เปิดฟอร์มที่มีอยู่ ตัวอย่างเช่น สมมติว่า คุณเพิ่มเขตข้อมูลใหม่ลงในแม่แบบฟอร์มที่มีอยู่ และประกาศจะ และคุณต้องการให้เขตข้อมูลใหม่ที่จะเพิ่มไปยังแหล่งข้อมูลหลักถ้าผู้ใช้เปิดฟอร์มที่มีอยู่ เหตุการณ์นี้เพิ่มเขตข้อมูลใหม่ไปยังแหล่งข้อมูลหลักเมื่อผู้ใช้เปิดฟอร์มที่มีอยู่

บนเมนูเครื่องมือ คลิกตัวเลือกฟอร์ม ในรายการประเภท คลิกการกำหนดเวอร์ชัน ในรายการบนเวอร์ชันอัปเกรด คลิกใช้เหตุการณ์แบบกำหนดเอง นั้นแล้ว คลิกแก้ไข

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×