ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้

การสร้างแมโครส่วนติดต่อผู้ใช้ (UI)

ใน Microsoft Access แมโครที่แนบกับวัตถุส่วนติดต่อผู้ใช้ (UI) เช่น ปุ่มสั่ง กล่องข้อความ ฟอร์ม และรายงานเรียกว่าแมโคร UI ซึ่งจะแยกความแตกต่างดังกล่าวจากแมโครข้อมูลที่แนบมากับตาราง คุณใช้แมโคร (UI) เพื่อดําเนินการชุดการดําเนินการโดยอัตโนมัติ เช่น การเปิดวัตถุอื่น การใช้ตัวกรอง การเริ่มการดําเนินการส่งออก และงานอื่นๆ อีกมากมาย บทความนี้จะแนะให้รู้จักกับตัวสร้างแมโครที่ได้รับการออกแบบใหม่ และแสดงงานพื้นฐานที่เกี่ยวข้องกับการสร้างแมโคร UI

หมายเหตุ: บทความนี้ใช้ไม่ได้กับ Access Web Apps

ในบทความนี้

ภาพรวม

แมโครสามารถมีอยู่ในวัตถุแมโคร (บางครั้งเรียกว่าแมโครแบบสแตนด์อโลน) หรือสามารถฝังลงในคุณสมบัติเหตุการณ์ของฟอร์ม รายงาน หรือตัวควบคุมได้ แมโครฝังตัวจะกลายเป็นส่วนหนึ่งของวัตถุหรือตัวควบคุมที่แมโครฝังตัวอยู่ วัตถุแมโครจะปรากฏในบานหน้าต่างนําทาง ภายใต้แมโคร แมโครที่ฝังตัวจะไม่เป็น

แต่ละแมโครจะสร้างขึ้นจากแอคชันของแมโครอย่างน้อยหนึ่งแอคชัน แมโครแอคชันบางอย่างอาจไม่พร้อมใช้งาน ทั้งนี้ขึ้นอยู่กับบริบทที่คุณใช้งาน

ด้านบนของหน้า

ตัวสร้างแมโคร

ต่อไปนี้คือจุดเด่นของฟีเจอร์หลักบางส่วนของตัวสร้างแมโคร

  • แค็ตตาล็อกการปฏิบัติการ    แมโครแอคชันถูกจัดระเบียบตามชนิดและค้นหาได้

  • IntelliSense    เมื่อพิมพ์นิพจน์ IntelliSense จะแนะนนะค่าที่เป็นไปได้และช่วยให้คุณเลือกค่าที่ถูกต้อง

  • แป้นพิมพ์ลัด    ใช้การกดแป้นพิมพ์ร่วมกันเพื่อการเขียนแมโครที่เร็วขึ้นและง่ายขึ้น

  • โฟลว์โปรแกรม    สร้างแมโครที่อ่านได้มากขึ้นด้วยบรรทัดข้อคิดเห็นและกลุ่มการแอคชัน

  • ข้อความเงื่อนไข    อนุญาตการปฏิบัติการตรรกะที่ซับซ้อนมากขึ้นด้วยการสนับสนุน If/Else/Else If ที่ซ้อนกัน

  • การใช้แมโครใหม่    แค็ตตาล็อกแอคชันจะแสดงแมโครอื่นๆ ที่คุณสร้าง ไว้ เพื่อช่วยให้คุณสามารถคัดลอกแมโครลงในแมโครที่คุณร่วมงานอยู่ได้

  • การแชร์ที่ง่ายยิ่งขึ้น    คัดลอกแมโคร แล้ววางเป็น XML ลงในอีเมล โพสต์กลุ่มข่าวสาร บล็อก หรือเว็บไซต์ตัวอย่างโค้ด

นี่คือวิดีโอที่พร้อมให้คุณสามารถเห็นถึงพื้นที่หลักของตัวสร้างแมโคร

เบราว์เซอร์ของคุณไม่สนับสนุนวิดีโอ

ด้านบนของหน้า

สร้างแมโครแบบสแตนด์อโลน

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

  1. บนแท็บ สร้าง ในกลุ่ม แมโครและโค้ด ให้คลิก แมโคร

    Access เปิดตัวสร้างแมโคร

  2. บนแถบเครื่องมือด่วน ให้คลิกบันทึก

  3. ในกล่องโต้ตอบ บันทึก เป็น ให้พิมพ์ชื่อแมโคร แล้วคลิก ตกลง

  4. ใช้งานต่อในส่วน เพิ่มแอคชัน ลงในแมโคร

ด้านบนของหน้า

สร้างแมโครฝังตัว

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

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

  1. ในบานหน้าต่างนําทาง ให้คลิกขวาที่ฟอร์มหรือรายงานที่มีแมโคร แล้วคลิก มุมมองเค้าโครง

  2. ถ้าแผ่นคุณสมบัติไม่ได้แสดงอยู่แล้ว ให้กด F4 เพื่อแสดงแผ่นคุณสมบัติ

  3. คลิกตัวควบคุมหรือส่วนที่มีคุณสมบัติเหตุการณ์ที่คุณต้องการฝังแมโคร คุณยังสามารถเลือกตัวควบคุมหรือส่วน (หรือทั้งฟอร์มหรือรายงาน) โดยใช้รายการดรอป ดาวน์ภายใต้ชนิด การเลือกที่ด้านบนของแผ่นคุณสมบัติ

  4. ในบานหน้าต่างงาน แผ่นคุณสมบัติ ให้ คลิกแท็บ เหตุการณ์

  5. คลิกในกล่องคุณสมบัติของเหตุการณ์ที่คุณต้องการทริกเกอร์แมโคร ตัวอย่างเช่น ถ้าคุณต้องการให้แมโครเรียกใช้ปุ่มเมื่อคลิกปุ่ม ให้คลิกในกล่องคุณสมบัติ เมื่อคลิก

  6. ถ้ากล่องคุณสมบัติมีข้อความ [แมโครฝังตัว]หมายความว่าแมโครถูกสร้างไว้อยู่แล้วของเหตุการณ์นี้ คุณสามารถแก้ไขแมโครได้โดยปฏิบัติตามขั้นตอนที่เหลือในกระบวนการนี้ต่อไป

  7. ถ้ากล่องคุณสมบัติมีข้อความ [กระบวนงานเหตุการณ์]ซึ่งหมายความว่ากระบวนงาน Visual Basic for Applications (VBA) ได้ถูกสร้างไว้แล้วในเหตุการณ์นี้ ก่อนที่คุณจะสามารถฝังแมโครในเหตุการณ์ คุณจะต้องเอากระบวนงานออก คุณสามารถลบได้โดยการลบข้อความ [กระบวนงานเหตุการณ์]แต่คุณควรตรวจสอบกระบวนงานเหตุการณ์ก่อน เพื่อให้แน่ใจว่าการเอาออกจะไม่แบ่งหน้าที่การใช้งานที่ต้องใช้ในฐานข้อมูล ในบางกรณี คุณสามารถสร้างหน้าที่การใช้งานของกระบวนงาน VBA ใหม่ได้โดยใช้แมโครฝังตัว

  8. คลิกปุ่ม สร้าง รูปภาพปุ่ม

  9. ถ้า กล่องโต้ตอบเลือก ตัวสร้างปรากฏขึ้น ตรวจสอบ ให้แน่ใจว่าได้ เลือกตัวสร้างแมโครแล้ว จากนั้นคลิกตกลง

    Access เปิดตัวสร้างแมโคร ใช้งานต่อในส่วนถัดไปเพื่อเพิ่มแอคชันให้กับแมโคร

ด้านบนของหน้า

เพิ่มแอคชันให้กับแมโคร

การแอคชันคือแต่ละสั่งที่สร้างแมโคร และแต่ละตัวจะถูกตั้งชื่อตามสิ่งที่แอคชันนั้นใช้ ตัวอย่างเช่นFindRecordหรือ CloseDatabase

ขั้นตอนที่ 1: เรียกดูหรือค้นหาแมโครแอคชัน

ขั้นตอนแรกในการเพิ่มการแอคชันคือการค้นหา ในรายการดรอป ดาวน์เพิ่มการแอคชันใหม่หรือในแค็ตตาล็อกแอคชัน

หมายเหตุ: 

  • ตามค่าเริ่มต้น รายการดร อปดาวน์ เพิ่มแอคชันใหม่ และ แค็ตตาล็อกแอคชัน จะแสดงเฉพาะการแอคชันที่จะจัดการในฐานข้อมูลที่ไม่น่าเชื่อถือเท่านั้น เมื่อต้องการดูการแอคชันทั้งหมด:

    • บนแท็บ ออกแบบ ในกลุ่ม แสดง /ซ่อน ให้คลิก แสดง การแอคชันทั้งหมด

  • ถ้าแค็ตตาล็อกแอคชันไม่แสดงอยู่ บนแท็บออกแบบในกลุ่มแสดง/ซ่อนให้คลิกแค็ตตาล็อกแอคชัน

เมื่อต้องการค้นหาการแอคชัน ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

  • คลิกลูกศรในรายการดร อปดาวน์ เพิ่มแอคชัน ใหม่ แล้วเลื่อนลงเพื่อค้นหาการแอคชัน องค์ประกอบโฟลว์โปรแกรมจะแสดงรายการก่อน แล้วแมโครแอคชันจะแสดงรายการตามตัวอักษร

  • เรียกดูการแอคชันในบานหน้าต่าง แค็ตตาล็อกแอคชัน การแอคชันจะถูกจัดกลุ่มตามประเภท ขยายแต่ละประเภทเพื่อดูการแอคชัน ถ้าคุณเลือกการแอคชัน จะมีอธิบายสั้นๆ ของการแอคชันจะปรากฏขึ้นที่ด้านล่างของแค็ตตาล็อกแอคชัน

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

ขั้นตอนที่ 2: เพิ่มแอคชันลงในแมโคร

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

  • เลือกการแอคชันในรายการ เพิ่มแอคชัน ใหม่ หรือเพียงเริ่มพิมพ์ชื่อการแอคชันในกล่อง Access จะเพิ่มการแอคชันที่จุดที่แสดง รายการเพิ่ม การแอคชันใหม่

  • ลากการแอคชันจากแค็ตตาล็อกแอคชันไปยังบานหน้าต่างแมโคร แถบการแทรกจะปรากฏขึ้นเพื่อแสดงให้คุณเห็นจุดที่จะแทรกการแอคชันเมื่อคุณปล่อยปุ่มเมาส์

  • ดับเบิลคลิกที่การแอคชันในแค็ตตาล็อกแอคชัน

    • ถ้าเลือกการแอคชันในบานหน้าต่างแมโคร Access จะเพิ่มแอคชันใหม่ที่ด้านล่างของแอคชันที่เลือก

    • ถ้า กลุ่ม, If, Else If, Elseหรือ Submacro ถูกเลือกในบานหน้าต่างแมโคร Access จะเพิ่มการแอคชันใหม่ลงในบล็อกนั้น

    • ถ้าไม่มีแอคชันหรือบล็อกถูกเลือกในบานหน้าต่างแมโคร Access จะเพิ่มแอคชันใหม่ลงท้ายแมโคร

      หมายเหตุ: 

      • ถ้าคุณสร้างแมโครแล้วอย่างน้อยหนึ่งแมโคร แมโครเหล่านั้นจะแสดงอยู่ภายใต้โหนด ในฐานข้อมูล นี้ ในแค็ตตาล็อกการแอคชัน

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

        • ถ้าคุณเพียงต้องการคัดลอกแอคชันจากแมโครแบบสแตนด์อโลนลงในแมโครปัจจุบัน (แทนการสร้างแอคชัน RunMacro)ให้คลิกขวาในแค็ตตาล็อกแอคชัน แล้วคลิก เพิ่มสําเนาของแมโคร

        • การลากแมโครฝังตัว (แมโครที่แสดงอยู่ภายใต้วัตถุฟอร์มหรือรายงาน) ลงในบานหน้าต่างแมโครจะคัดลอกแอคชันจากแมโครนั้นลงในแมโครปัจจุบัน

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

ขั้นตอนที่ 3: ใส่ข้อมูลในอาร์กิวเมนต์

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

การใช้ IntelliSense ในการป้อนนิพจน์

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

For more information about creating expressions, see the article Introduction to expressions.

เกี่ยวกับการใช้ IntelliSense ที่มีคุณสมบัติในฐานข้อมูลเว็บ

เมื่อคุณสร้างแมโคร UI แบบฝังตัวบนฟอร์มที่เข้ากันได้กับเว็บ IntelliSense จะช่วยให้คุณสามารถเพิ่มคุณสมบัติของฟอร์มใดๆ ลงในนิพจน์ได้ อย่างไรก็ตาม ในฐานข้อมูลบนเว็บ จะสามารถเข้าถึงชุดย่อยของคุณสมบัติฟอร์มได้โดยใช้แมโคร UI เท่านั้น ตัวอย่างเช่น เมื่อได้รับตัวควบคุมที่ชื่อว่า Control1 บนฟอร์มที่ชื่อ Form1 IntelliSense จะช่วยให้คุณเพิ่ม [ฟอร์ม]! [Form1]! [Control1] [ControlSource] เป็นนิพจน์ในแมโคร UI อย่างไรก็ตาม ถ้าคุณประกาศฐานข้อมูลไปยัง Access Services แมโครที่มีนิพจน์ที่จะสร้างข้อผิดพลาดเมื่อเรียกใช้บนเซิร์ฟเวอร์

ตารางต่อไปนี้แสดงคุณสมบัติที่คุณสามารถใช้ในแมโคร UI ในฐานข้อมูลเว็บ:

คุณสมบัติที่คุณสามารถใช้ได้

ฟอร์ม

Caption, Dirty, AllowAdditions, AllowDeletions, AllowEdits

ตัวควบคุมแท็บ

มองเห็นได้

ป้ายผนึก

ป้ายอธิบายภาพ สีพื้นหน้า สีพื้นหลัง

สิ่งที่แนบมา

มองเห็นได้ เปิดใช้งาน

ปุ่ม Command

สีพื้นหน้า ของป้ายแสดง, มองเห็นได้, เปิดใช้งาน

Tex tBox

เปิดใช้งาน มองเห็น ล็อก สีพื้นหน้า สีพื้นหลัง ค่า

กล่องกาเครื่องหมาย

เปิดใช้งาน มองเห็นได้ ล็อก ค่า

รูปภาพ

สีพื้นหลังที่มองเห็นได้

กล่องผสม

เปิดใช้งาน มองเห็นได้ ล็อก ค่า

กล่องรายการ

เปิดใช้งาน มองเห็นได้ ล็อก ค่า

เว็บเบราว์เซอร์

มองเห็นได้

ฟอร์มย่อย

เปิดใช้งานแล้ว ล็อกที่มองเห็นได้

ตัวควบคุมการนําทาง

เปิดใช้งานแล้ว มองเห็นได้

ย้ายการแอคชัน

แอคชันจะถูกเรียกใช้จากด้านบนไปยังด้านล่างของแมโคร เมื่อต้องการย้ายแอคชันขึ้นหรือลงในแมโคร ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

  • ลากการลากขึ้นหรือลงไปยังที่ที่คุณต้องการ

  • เลือกการแอคชัน แล้วกด CTRL + ลูกศรขึ้น หรือ CTRL + ลูกศรลง

  • เลือกแอคชัน แล้วคลิกลูกศร ย้าย ขึ้น หรือ ย้ายลง ทางด้านขวาของบานหน้าต่างแมโคร

ลบการแอคชัน

เมื่อต้องการลบแมโครแอคชัน:

  • เลือกการแอคชัน แล้วกดแป้น DELETE อีกวิธีหนึ่งคือ คุณสามารถคลิกปุ่ม ลบ (X) ที่ด้านขวาของบานหน้าต่างแมโคร

    หมายเหตุ: 

    • ถ้าคุณลบกลุ่มการแอคชัน เช่น บล็อก If หรือ บล็อกกลุ่ม การแอคชันทั้งหมดในบล็อกจะถูกลบเช่นกัน

    • เมนูย้ายขึ้นย้ายลงและลบ ยังพร้อมใช้งานบนเมนูทางลัดที่ปรากฏขึ้นเมื่อคุณคลิกขวาที่แมโครแอคชัน

ด้านบนของหน้า

ควบคุมการโฟลว์โปรแกรมด้วย If, Else If และ Else

เมื่อต้องการเรียกใช้แอคชันของแมโครเฉพาะเมื่อเงื่อนไขบางอย่างเป็นจริง คุณสามารถใช้บล็อกIf การคลิก นี้จะ แทนที่คอลัมน์เงื่อนไขที่ใช้ใน Access เวอร์ชันก่อนหน้า คุณสามารถขยายบล็อก If ด้วย Else If และ Else blocks ได้ ซึ่งคล้ายกับภาษาการเขียนโปรแกรมแบบต่อเนื่องอื่นๆ เช่น VBA

ภาพประกอบต่อไปนี้แสดงบล็อกIf อย่างง่ายรวมถึงบล็อกElse IfและElse

แมโครที่มีคำสั่ง If/Else If/Else

บล็อก If จะปฏิบัติการถ้าเขตข้อมูล ExpirationDate น้อยกว่าวันที่ปัจจุบัน

บล็อก Else If จะปฏิบัติการถ้าเขตข้อมูล ExpirationDate เท่ากับวันที่ปัจจุบัน

บล็อก Else จะจัดการถ้าไม่มีบล็อกก่อนหน้าใดกระนั้น

บล็อก If จะสิ้นสุดที่นี่

เพิ่มบล็อก 'ถ้า' ลงในแมโคร

  1. เลือก ถ้า จากรายการ ดรอป ดาวน์ เพิ่มแอคชันใหม่ หรือลากจากบานหน้าต่าง แค็ตตาล็อกแอคชัน ไปยังบานหน้าต่างแมโคร

  2. ในกล่องที่ด้านบนของบล็อก If ให้พิมพ์นิพจน์ที่ระบุว่าบล็อกจะถูกปฏิบัติการเมื่อใด นิพจน์ต้องเป็นบูลีน (นั่นคือ นิพจน์ที่ประเมินเป็น ใช่ หรือ ไม่ใช่)

  3. เพิ่มการแอคชันลงในบล็อกIfด้วยการเลือกจากรายการดรอปดาวน์ เพิ่มแอคชันใหม่ ที่ปรากฏขึ้นภายในบล็อก หรือโดยการลากจากบานหน้าต่าง แค็ตตาล็อกแอคชัน ไปยังบล็อก If

เพิ่ม Else หรือ Else If บล็อกไปยังบล็อก If

  1. เลือก บล็อก ถ้า จากนั้นที่มุมล่างขวาของบล็อก ให้คลิก เพิ่มอื่นหรือเพิ่มอีกถ้า

  2. ถ้าคุณเพิ่มบล็อก Else If ให้พิมพ์นิพจน์ที่ระบุว่าบล็อกจะถูกปฏิบัติการเมื่อใด นิพจน์ต้องเป็นบูลีน (นั่นคือ นิพจน์ที่ประเมินเป็น True หรือ False)

  3. เพิ่มการแอคชันลงในบล็อก Else IfหรือElseโดยการเลือกจากรายการดรอปดาวน์ เพิ่มแอคชันใหม่ ที่ปรากฏภายในบล็อก หรือโดยการลากจากบานหน้าต่าง แค็ตตาล็อกแอคชัน ไปยังบล็อก

    หมายเหตุ: 

    • คุณสามารถใช้สั่งเพื่อเพิ่มบล็อกIf , Else If และ Else บนเมนูทางลัดที่ปรากฏขึ้นเมื่อคุณคลิกขวาที่แมโครแอคชันได้

    • ถ้า บล็อกสามารถซ้อนกันได้ลึกถึง 10 ระดับ

ด้านบนของหน้า

สร้างฟอร์มย่อย

แต่ละแมโครสามารถมีแมโครย่อยได้หลายแมโคร แมโครย่อยถูกเรียกโดยชื่อจากแมโครแอคชันRunMacroหรือOnError

คุณเพิ่ม บล็อกแมโคร ย่อยไปยังแมโครด้วยวิธีเดียวกับที่คุณแมโครแอคชัน ตามที่อธิบายไว้ในส่วน เพิ่มแอคชัน ลงในแมโคร เมื่อคุณเพิ่มบล็อกแมโครย่อยแล้วคุณสามารถลากแมโครแอคชันลงในบล็อกนั้น หรือเลือกแอคชันจากรายการ เพิ่มแอคชันใหม่ที่ปรากฏภายในบล็อกได้

หมายเหตุ: 

  • คุณยังสามารถสร้างบล็อกแมโครย่อยโดยการเลือกการแอคชันอย่างน้อยหนึ่งการคลิกขวาที่บล็อกย่อย แล้วเลือกสร้างบล็อกย่อย

  • แมโครย่อยต้องเป็นบล็อกสุดท้ายในแมโครเสมอ คุณไม่สามารถเพิ่มการแอคชัน (ยกเว้นแมโครย่อยเพิ่มเติม) ใต้แมโครย่อยได้ ถ้าคุณเรียกใช้แมโครที่มีเฉพาะแมโครย่อยโดยไม่ตั้งชื่อแมโครย่อยที่คุณต้องการ โดยเฉพาะแมโครย่อยแรกเท่านั้นที่จะถูกเรียกใช้

  • เมื่อต้องการเรียกใช้แมโครย่อย (ตัวอย่างเช่น ในคุณสมบัติเหตุการณ์ หรือโดยการใช้แอคชันRunMacroหรือแอคชัน OnError)ให้ใช้ไวยากรณ์ต่อไปนี้:

    macroname.submacroname

ด้านบนของหน้า

จัดกลุ่มการแอคชันที่เกี่ยวข้องไว้ด้วยกัน

คุณสามารถปรับปรุงความง่ายในการอ่านของแมโครโดยการจัดกลุ่มแอคชันร่วมกันและการกําหนดชื่อที่สื่อความหมายให้กับกลุ่ม ตัวอย่างเช่น คุณสามารถจัดกลุ่มการแอคชันที่เปิดและกรองฟอร์มลงในกลุ่มที่ชื่อว่า "เปิดและกรองฟอร์ม" ซึ่งช่วยให้มองเห็นได้ง่ายขึ้นว่าการแอคชันใดเกี่ยวข้องกัน บล็อกกลุ่มจะไม่มีผลต่อวิธีการปฏิบัติการ และไม่สามารถเรียกหรือเรียกใช้กลุ่มทีละกลุ่มได้ การใช้งานหลักๆ มีไว้เพื่อติดป้ายว่ากลุ่มการแอคชันเพื่อช่วยให้คุณเข้าใจแมโครได้ในขณะที่คุณอ่าน นอกจากนี้ ขณะแก้ไขแมโครขนาดใหญ่ คุณสามารถยุบกลุ่มแต่ละกลุ่มลงไปที่บรรทัดเดียว ลดจํานวนการเลื่อนที่คุณต้องไป

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

  1. เลือกการแอคชันที่คุณต้องการจัดกลุ่ม

  2. คลิกขวาที่การแอคชันที่เลือก แล้วคลิก สร้าง บล็อกกลุ่ม

  3. ในกล่อง ที่ด้านบนของบล็อกกลุ่ม ให้พิมพ์ชื่อกลุ่ม

ถ้าการแอคชันไม่ได้มีอยู่:

  1. ลาก บล็อกกลุ่ม จากแค็ตตาล็อกแอคชันไปยังบานหน้าต่างแมโคร

  2. ในกล่อง ที่ด้านบนของบล็อกกลุ่ม ให้พิมพ์ชื่อกลุ่ม

  3. ลากแมโครแอคชันจากแค็ตตาล็อกแอคชัน ไปยัง บล็อกกลุ่ม หรือเลือกแอคชัน จากรายการ เพิ่มการแอคชันใหม่ที่ปรากฏขึ้นภายในบล็อก

บล็อก กลุ่มสามารถมี บล็อกกลุ่ม อื่นๆ และสามารถซ้อนกันได้สูงสุด 9 ระดับ

ด้านบนของหน้า

ขยายและยุบแมโครแอคชันหรือบล็อก

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

ขยายหรือยุบแมโครแอคชันหรือบล็อกเดียว

  • คลิกเครื่องหมายบวก (+) หรือเครื่องหมายลบ (-) ทางด้านซ้ายของชื่อแมโครหรือบล็อก หรือกดแป้นลูกศรขึ้นและลูกศรลงเพื่อเลือกการแอคชันหรือบล็อก แล้วกดแป้นลูกศรซ้ายหรือลูกศรขวาเพื่อยุบหรือขยาย

ขยายหรือยุบแมโครแอคชันทั้งหมด (แต่บล็อกไม่ได้)

  • บนแท็บออกแบบในกลุ่ม ยุบ/ขยาย ให้คลิกขยายการแอคชันหรือยุบการแอคชัน

ขยายหรือยุบแมโครแอคชันและบล็อกทั้งหมด

  • บนแท็บออกแบบในกลุ่ม ยุบ/ขยายให้คลิกขยายทั้งหมดหรือ ยุบทั้งหมด

เคล็ดลับ:  คุณสามารถ "มอง" ภายในการยุบได้โดยการย้ายตัวชี้ไปไว้เหนือการแอคชัน Access จะแสดงอาร์กิวเมนต์ของแอคชันในเคล็ดลับเครื่องมือ

ด้านบนของหน้า

การคัดลอกและวางแมโครแอคชัน

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

เคล็ดลับ:  เมื่อต้องการคัดลอกการแอคชันที่เลือกซ้อปกันอย่างรวดเร็ว ให้กดแป้น CTRL ค้างไว้แล้วลากแอคชันไปยังที่ตั้งในแมโครที่คุณต้องการคัดลอก

แชร์แมโครกับผู้อื่น

เมื่อคุณคัดลอกแอคชันของแมโครไปยังคลิปบอร์ด แอคชันเหล่านั้นสามารถวางเป็น Extensible Markup Language (XML) ลงในแอปพลิเคชันที่ยอมรับข้อความได้ ซึ่งช่วยให้คุณสามารถส่งแมโครไปยังผู้ร่วมงานผ่านข้อความอีเมล หรือโพสต์แมโครบนศูนย์ข้อมูลการอภิปราย บล็อก หรือเว็บไซต์อื่นๆ ได้ ผู้รับสามารถคัดลอก XML และวางลงในตัวสร้างแมโคร Access 2010 ได้ แมโครจะถูกสร้างใหม่เหมือนกับที่คุณเขียน

เรียกใช้แมโคร

คุณสามารถเรียกใช้แมโครโดยใช้วิธีใดวิธีหนึ่งต่อไปนี้

  • ดับเบิลคลิกที่แมโครในบานหน้าต่างนําทาง

  • เรียกใช้แมโครโดยใช้แมโครแอคชันRunMacroหรือ OnError

  • ใส่ชื่อแมโครในคุณสมบัติ เหตุการณ์ ของวัตถุ แมโครจะเรียกใช้เมื่อมีการทริกเกอร์เหตุการณ์นั้น

ด้านบนของหน้า

การแก้จุดบกพร่องแมโคร

ถ้าคุณมีปัญหาในการเรียกใช้แมโคร มีเครื่องมือสองสามตัวที่คุณสามารถใช้เพื่อไปยังสาเหตุของปัญหา

เพิ่มแอคชันการจัดการข้อผิดพลาดให้กับแมโคร

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

ใช้ขั้นตอนต่อไปนี้เพื่อเพิ่มแมโครย่อยการจัดการข้อผิดพลาดลงในแมโคร:

  1. เปิดแมโครในมุมมองออกแบบ

  2. ที่ด้านล่างของแมโคร ให้เลือกแมโครย่อยจากรายการดรอปดาวน์เพิ่มแอคชันใหม่

  3. ในกล่องทางด้านขวาของ Word Submacroให้พิมพ์ชื่อของมาโครย่อย เช่น ตัวจัดการข้อผิดพลาด

  4. จากรายการดรอปดาวน์เพิ่มแอคชันใหม่ ที่ปรากฏภายในบล็อกแมโครย่อย ให้เลือกแมโครแอคชันMessageBox

  5. ใน กล่องข้อความ ให้พิมพ์ข้อความต่อไปนี้: =[MacroError].[ รายละเอียด]

  6. ที่ด้านล่างของแมโคร ให้เลือก OnError จากรายการดรอปดาวน์เพิ่ม แอคชัน ใหม่

  7. ตั้งค่าอาร์กิวเมนต์ ไปที่เป็น ชื่อแมโคร

  8. ในกล่องชื่อแมโครให้พิมพ์ชื่อของแมโครย่อยการจัดการข้อผิดพลาดของคุณ (ในตัวอย่างนี้ErrorHandler)

  9. ลาก แมโครแอคชัน OnError ไปที่ด้านบนของแมโคร

ภาพประกอบต่อไปนี้แสดงแมโครที่มีแอคชันOnErrorและแมโครย่อยที่ชื่อErrorHandler

แมโครที่มีแมโครย่อยการจัดการข้อผิดพลาด

แมโคร แอคชัน OnError จะถูกวางที่ด้านบนของแมโคร และเรียกแมโครย่อย ตัวจัดการ ข้อผิดพลาดในกรณีที่เกิดข้อผิดพลาด

แมโคร ย่อย ErrorHandler จะเรียกใช้ถ้าถูกเรียกโดยการกระทดสิทธิ์ OnError และแสดงกล่องข้อความที่อธิบายข้อผิดพลาด

ใช้การสั่งขั้นตอนเดียว

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

เมื่อต้องการเริ่มโหมดทีละขั้น:

  1. เปิดแมโครในมุมมองออกแบบ

  2. บนแท็บ ออกแบบ ในกลุ่ม เครื่องมือ ให้คลิก ขั้นตอนเดียว

  3. บันทึกและปิดแมโคร

ในครั้งถัดไปที่คุณเรียกใช้แมโคร กล่องโต้ตอบ แมโคร ทีละขั้น จะปรากฏขึ้น กล่องโต้ตอบจะแสดงข้อมูลเกี่ยวกับการแอคชันแต่ละรายการต่อไปนี้

  • ชื่อแมโคร

  • เงื่อนไข (ถ้าบล็อก)

  • ชื่อการแอคชัน

  • อาร์กิวเมนต์

  • หมายเลขข้อผิดพลาด (หมายเลขข้อผิดพลาดของ 0 หมายความว่าไม่มีข้อผิดพลาดเกิดขึ้น)

เมื่อคุณเลื่อนผ่านการแอคชัน ให้คลิกปุ่มใดปุ่มหนึ่งในสามปุ่มในกล่องโต้ตอบ ดังนี้

  • เมื่อต้องการดูข้อมูลเกี่ยวกับแอคชันถัดไปในแมโคร ให้กดStep

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

  • เมื่อต้องการออกจากโหมดทีละขั้นและเรียกใช้แมโครต่อ ให้คลิกContinue

    หมายเหตุ: 

    • ถ้าคุณกด Step หลังจากแอคชันสุดท้ายในแมโคร โหมดทีละขั้นจะยังคงมีผลในครั้งถัดไปที่คุณเรียกใช้แมโคร

    • เมื่อต้องการเข้าสู่โหมดทีละขั้นขณะที่แมโครถูกเรียกใช้ ให้กด CTRL+BREAK

    • เมื่อต้องการเข้าสู่โหมดทีละขั้นณจุดใดจุดหนึ่งในแมโคร ให้เพิ่มแมโครแอคชัน SingleStep ที่จุดนั้น

    • โหมดทีละขั้นจะไม่พร้อมใช้งานในฐานข้อมูลเว็บ

ด้านบนของหน้า

แปลงแมโครเป็นโค้ด VBA

แมโครมีชุดย่อยของสั่งที่พร้อมใช้งานในภาษาการเขียนโปรแกรม Visual Basic for Applications (VBA) ถ้าคุณตัดสินใจว่าคุณต้องการฟังก์ชันมากกว่าที่แมโครมีให้ คุณสามารถแปลงวัตถุแมโครแบบสแตนด์อโลนเป็นโค้ด VBA ได้อย่างง่ายดาย แล้วใช้ชุดฟีเจอร์แบบขยายที่ VBA มีให้ อย่างไรก็ตาม โปรดทราบว่าโค้ด VBA จะไม่เรียกใช้ในเบราว์เซอร์ โค้ด VBA ใดๆ ที่คุณเพิ่มลงในฐานข้อมูลบนเว็บจะเรียกใช้เมื่อฐานข้อมูลเปิดใน Access เท่านั้น

หมายเหตุ:  คุณไม่สามารถแปลงแมโครฝังตัวเป็นโค้ด VBA ได้

เมื่อต้องการแปลงแมโครเป็นโค้ด VBA:

  1. ในบานหน้าต่างนําทาง ให้คลิกขวาที่วัตถุแมโคร แล้วคลิกมุมมองออกแบบ

  2. บนแท็บออกแบบในกลุ่มเครื่องมือให้คลิก แปลงแมโคร เป็น Visual Basic

  3. ในกล่องโต้ตอบ แปลงแมโคร ให้ระบุว่า คุณต้องการเพิ่มโค้ดจัดการข้อผิดพลาดและข้อคิดเห็นลงในมอดูล VBA หรือไม่ แล้วคลิกแปลง

Access จะยืนยันว่าแมโครถูกแปลง และเปิด Visual Basic Editor ดับเบิลคลิกที่แมโครที่แปลงแล้วในบานหน้าต่างโครงการเพื่อดูและแก้ไขมอดูล

ด้านบนของหน้า

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

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

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

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

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

×