คุณสามารถใช้แมโคร Access เพื่อสร้างเมนูทางลัดแบบกําหนดเองที่ปรากฏขึ้นเมื่อคุณคลิกขวาที่ฟอร์ม รายงาน หรือตัวควบคุมแต่ละตัว คุณยังสามารถสร้างเมนูแบบกําหนดเองที่ปรากฏบน Ribbon สําหรับฟอร์มหรือรายงานที่ระบุได้
เมื่อต้องการสร้างเมนูโดยใช้แมโคร คุณต้องดําเนินการสามขั้นตอนหลักดังนี้
-
Create วัตถุแมโครที่มีแมโครย่อยที่มีคําสั่งเมนู
-
Create วัตถุแมโครอื่นที่สร้างเมนูเอง
-
แนบเมนูไปยังตัวควบคุม ฟอร์ม รายงาน หรือลงในฐานข้อมูลทั้งหมด
ส่วนต่อไปนี้จะอธิบายขั้นตอนเหล่านี้อย่างละเอียด
เคล็ดลับ: ถ้าคุณต้องการเรียนรู้วิธีการสร้างเมนูทางลัดแบบกําหนดเองใน Access โดยใช้โค้ด Visual Basic for Applications (VBA) ให้ดูบทความ Create เมนูทางลัดสําหรับฟอร์ม ตัวควบคุมฟอร์ม หรือรายงาน
ขั้นตอนที่ 1: Create วัตถุแมโครที่มีแมโครย่อยที่มีคําสั่งเมนู
ในขั้นตอนนี้ คุณจะสร้างวัตถุแมโครที่มีแมโครย่อย ซึ่งแต่ละแมโครย่อยจะเป็นคําสั่งแยกต่างหากบนเมนูทางลัดของคุณ
แมโครย่อยคืออะไร
คุณสามารถใช้แมโครย่อยภายในวัตถุแมโครเพื่อกําหนดชุดของแมโครแอคชันได้ แมโครย่อยภายในวัตถุแมโครสามารถเรียกแยกจากตัวควบคุมและเหตุการณ์วัตถุต่างๆ ได้ แมโครย่อยแต่ละอันภายในวัตถุแมโครจะมีชื่อที่ไม่ซ้ํากัน และสามารถมีแมโครแอคชันได้อย่างน้อยหนึ่งแอคชัน
-
บนแท็บ สร้าง ในกลุ่ม แมโครและโค้ด ให้คลิก แมโคร
-
สําหรับแต่ละคําสั่งที่คุณต้องการบนเมนูทางลัดแบบกําหนดเองของคุณ:
-
เพิ่ม คําสั่ง แมโครย่อย ลงในหน้าต่างการออกแบบแมโคร และตั้งชื่อแมโครย่อยที่คุณต้องการแสดงบนเมนูทางลัด (ตัวอย่างเช่น "พิมพ์" หรือ "รีเฟรช")
เคล็ดลับ: เมื่อต้องการสร้างแป้นการเข้าถึงเพื่อให้คุณสามารถใช้คีย์บอร์ดเพื่อเลือกคําสั่ง ได้ ให้พิมพ์เครื่องหมายและ (&) ก่อนตัวอักษรที่คุณต้องการให้เป็นแป้นการเข้าถึงในชื่อคําสั่ง (ตัวอย่างเช่น "&รีเฟรช") ตัวอักษรนี้จะถูกขีดเส้นใต้บนเมนู
-
ภายในแมโครย่อย ให้เลือกการดําเนินการแรกที่คุณต้องการให้เกิดขึ้นเมื่อคุณคลิกคําสั่งบนเมนูทางลัด
-
ถ้ามีการกระทําเพิ่มเติมที่คุณต้องการดําเนินการเมื่อคุณเลือกคําสั่งนี้ ให้เพิ่มเป็นแอคชันแมโครแยกต่างหากภายในแมโครย่อยเดียวกัน
-
-
บันทึกและตั้งชื่อวัตถุแมโคร ตัวอย่างเช่น mcrShortcutMenuCommands
ภาพประกอบต่อไปนี้แสดงตัวอย่างวัตถุแมโครที่มีแมโครย่อยสามรายการสําหรับเมนูแบบกําหนดเองหรือเมนูทางลัด
ขั้นตอนที่ 2: Create วัตถุแมโครที่สองที่สร้างเมนู
ขั้นตอนนี้อาจดูเหมือนซ้ํากัน แต่การสร้างเมนูทางลัดจากวัตถุแมโครที่คุณสร้างในขั้นตอนที่ 1 คุณต้องสร้างวัตถุแมโครที่สองที่มีแมโครแอคชัน AddMenu แมโครแอคชันนี้บางครั้งเรียกว่า "แมโครเมนู"
-
บนแท็บ สร้าง ในกลุ่ม แมโครและโค้ด ให้คลิก แมโคร
-
ในกล่องคําสั่งผสม เพิ่มการดําเนินการใหม่ บนหน้าต่างออกแบบแมโคร ให้เลือก AddMenu
-
ในกล่องอาร์กิวเมนต์ ชื่อเมนู สําหรับแมโครแอคชัน AddMenu ให้พิมพ์ชื่อของเมนู (ตัวอย่างเช่น "คําสั่งฟอร์ม") อาร์กิวเมนต์นี้ไม่จําเป็น แต่เราแนะนําให้ใช้ถ้าในขั้นตอนที่ 3 คุณวางแผนที่จะเพิ่มเมนูลงในแท็บ Ribbon (เช่น แท็บ Add-in ของฟอร์มหรือรายงาน) ถ้าเมนูถูกเพิ่มเป็นเมนูทางลัดในขั้นตอนที่ 3 อาร์กิวเมนต์ ชื่อเมนู จะถูกละเว้น
-
ในกล่อง อาร์กิวเมนต์ Menu Macro Name ให้ใส่ชื่อของวัตถุแมโครที่คุณสร้างในขั้นตอนที่ 1
-
บันทึกและตั้งชื่อวัตถุแมโครที่สองนี้ ตัวอย่างเช่น mcrAddShortcutMenu
ภาพประกอบต่อไปนี้แสดงตัวอย่างวัตถุแมโครเมนูที่สร้างเมนูที่เราออกแบบในขั้นตอนที่ 1
ขั้นตอนที่ 3: แนบเมนูลงในตัวควบคุม ฟอร์ม รายงาน หรือฐานข้อมูล
ใช้ขั้นตอนใดขั้นตอนหนึ่งต่อไปนี้ โดยขึ้นอยู่กับตําแหน่งที่คุณต้องการให้เมนูปรากฏขึ้น
เพิ่มเมนูลงในแท็บ Add-Ins ของฟอร์มหรือรายงาน
ใช้กระบวนงานนี้ถ้าคุณต้องการให้เมนูปรากฏบนแท็บ Add-in สําหรับฟอร์มหรือรายงานที่ระบุ
-
ในบานหน้าต่างนําทาง ให้คลิกขวาที่ฟอร์มหรือรายงานที่คุณต้องการให้เมนูปรากฏขึ้น แล้วคลิก มุมมองออกแบบ
-
บนแท็บ ออกแบบ ในกลุ่ม เครื่องมือ ให้คลิก แผ่นคุณสมบัติ
-
เลือกทั้งวัตถุโดยการเลือก ฟอร์ม หรือ รายงาน จากรายการที่ด้านบนของบานหน้าต่างงาน แผ่นคุณสมบัติ
-
บนแท็บ อื่นๆ บนแผ่นคุณสมบัติ ในกล่องคุณสมบัติ แถบเมนู ให้พิมพ์ชื่อของวัตถุแมโครที่คุณสร้างในขั้นตอนที่ 2 (ในตัวอย่างนี้ "mcrAddShortcutMenu")
-
บันทึกการเปลี่ยนแปลงฟอร์มหรือรายงานของคุณ
ในครั้งถัดไปที่คุณเปิดฟอร์มหรือรายงาน แท็บ Add-in จะปรากฏใน Ribbon คลิกแท็บเพื่อดูเมนู ดังที่แสดงในภาพประกอบต่อไปนี้:
สําหรับข้อมูลเพิ่มเติมเกี่ยวกับเทคนิคการกําหนด Ribbon เอง เช่น การเพิ่มแท็บแบบกําหนดเองหรือการซ่อนแท็บเริ่มต้น ให้ดูบทความ Create Ribbon แบบกําหนดเองใน Access
เพิ่มเมนูเป็นเมนูทางลัดสําหรับฟอร์ม รายงาน หรือตัวควบคุม
ใช้กระบวนงานนี้ถ้าคุณต้องการให้เมนูปรากฏขึ้นเมื่อคุณคลิกขวาที่ฟอร์ม รายงาน หรือตัวควบคุมที่ระบุ
-
ในบานหน้าต่างนําทาง ให้คลิกขวาที่ฟอร์มหรือรายงานที่คุณต้องการให้เมนูทางลัดปรากฏขึ้น แล้วคลิก มุมมองออกแบบ
-
บนแท็บ ออกแบบ ในกลุ่ม เครื่องมือ ให้คลิก แผ่นคุณสมบัติ
-
เลือกตัวควบคุมหรือวัตถุที่คุณต้องการแนบเมนูทางลัด
เมื่อต้องการเลือกทั้งวัตถุ ให้เลือก ฟอร์ม หรือ รายงาน จากรายการที่ด้านบนของบานหน้าต่างงาน แผ่นคุณสมบัติ
-
บนแท็บ อื่นๆ บนแผ่นคุณสมบัติ ในกล่องคุณสมบัติ แถบเมนูทางลัด ให้พิมพ์ชื่อของวัตถุแมโครที่คุณสร้างในขั้นตอนที่ 2 (ในตัวอย่างนี้ "mcrAddShortcutMenu")
-
ตรวจสอบให้แน่ใจว่าคุณสมบัติ เมนูทางลัด ถูกตั้งค่าเป็น ใช่
-
บันทึกการเปลี่ยนแปลงฟอร์มหรือรายงานของคุณ
ในครั้งถัดไปที่คุณเปิดฟอร์มหรือรายงาน แล้วคลิกขวาที่ฟอร์ม รายงาน หรือตัวควบคุม คุณจะเห็นเมนูทางลัดที่มีคําสั่งที่เกี่ยวข้อง ดังที่แสดงในภาพประกอบต่อไปนี้
เพิ่มเมนูเป็นเมนูทางลัดส่วนกลาง
กระบวนงานนี้จะแทนที่เมนูทางลัดเริ่มต้นทั้งหมดในฐานข้อมูลปัจจุบัน เมนูทางลัดแบบกําหนดเองที่คุณแนบกับฟอร์ม รายงาน หรือตัวควบคุมที่ระบุจะไม่ได้รับผลกระทบ
-
คลิก ไฟล์ > ตัวเลือก
-
ในกล่องโต้ตอบ ตัวเลือกของ Access ให้คลิก ฐานข้อมูลปัจจุบัน
-
ภายใต้ ตัวเลือก Ribbon และแถบเครื่องมือ ในกล่อง แถบเมนูทางลัด ให้พิมพ์ชื่อของแมโครที่คุณสร้างในขั้นตอนที่ 2 (ในตัวอย่างนี้ "mcrAddShortcutMenu")
-
คลิก ตกลง เพื่อบันทึกการเปลี่ยนแปลงของคุณในกล่องโต้ตอบ ตัวเลือกของ Access
-
ปิดแล้วเปิดฐานข้อมูลของคุณใหม่เพื่อให้การเปลี่ยนแปลงมีผล
เมนูทางลัดแบบกําหนดเองจะแทนที่เมนูทางลัดเริ่มต้นสําหรับวัตถุที่เมนูทางลัดเหล่านั้นแนบอยู่ ถ้าคุณต้องการเก็บคําสั่ง Access บางคําสั่งเพื่อใช้บนเมนูเหล่านี้ ให้ใช้แมโครแอคชัน RunCommand เพื่อใส่คําสั่งลงในวัตถุแมโครสําหรับเมนูที่คุณต้องการ
เมนูทางลัดแบบกําหนดเองที่แนบมากับตัวควบคุมจะแทนที่เมนูทางลัดแบบกําหนดเองอื่นๆ ที่กําหนดไว้ในฐานข้อมูล เมนูทางลัดแบบกําหนดเองที่แนบมากับฟอร์มหรือรายงานจะแทนที่เมนูทางลัดส่วนกลางแบบกําหนดเอง
เมื่อคุณระบุแมโครเมนูสําหรับฟอร์มหรือรายงานหรือฐานข้อมูล Access จะเรียกใช้แมโครเมนูนี้เมื่อใดก็ตามที่เปิดฟอร์ม รายงาน หรือฐานข้อมูล ถ้าคุณทําการเปลี่ยนแปลงวัตถุแมโครเมนูหรือวัตถุแมโครที่กําหนดคําสั่งในขณะที่ฟอร์ม รายงาน หรือฐานข้อมูลเปิดอยู่ คุณต้องปิดฟอร์ม รายงาน หรือฐานข้อมูล แล้วเปิดอีกครั้งเพื่อดูการเปลี่ยนแปลง
เมื่อต้องการสร้างเมนูย่อยบนรายการเมนูทางลัดของคําสั่ง ให้ทําตามขั้นตอนที่ 1 เพื่อสร้างวัตถุแมโครแยกต่างหากที่มีเฉพาะคําสั่งเมนูย่อย ดังที่แสดงในภาพประกอบต่อไปนี้:
จากนั้น ทําตามขั้นตอนที่ 1 อีกครั้งเพื่อกําหนดคําสั่งสําหรับวัตถุเมนูระดับสูงกว่า เพิ่มเมนูย่อยเป็นรายการในวัตถุแมโครระดับสูงกว่าโดยใช้แมโครแอคชัน AddMenu ภาพประกอบต่อไปนี้แสดงวัตถุแมโครสําหรับเมนูที่มีเมนูย่อย แมโครย่อยที่สามในวัตถุแมโครตัวอย่างนี้จะสร้างเมนูย่อย ส่งออกไปยัง... (mcrShortcutSubMenuCommands)
ภาพประกอบต่อไปนี้แสดงเมนูทางลัดที่เสร็จสมบูรณ์แล้วที่มีเมนูย่อย:
คุณสามารถสร้างระดับของเมนูย่อยได้หลายระดับโดยใช้แอคชันแมโคร AddMenu ในวัตถุแมโครสําหรับแต่ละระดับของเมนู ตรวจสอบให้แน่ใจว่าได้ใส่ค่าสําหรับอาร์กิวเมนต์ ชื่อเมนู สําหรับแอคชัน AddMenu แต่ละแอคชัน มิฉะนั้นเมนูย่อยจะปรากฏเป็นบรรทัดว่างในเมนูระดับสูงกว่า
เงื่อนไขนิพจน์แมโครที่ใช้บล็อก If/Then/Else ได้รับการสนับสนุนในวัตถุแมโครเมนูระดับบนสุดเท่านั้น กล่าวคือ คุณสามารถใช้นิพจน์เงื่อนไขในวัตถุแมโครเมนูเพื่อกําหนดว่าเมนูหรือเมนูทางลัดใดเมนูหนึ่งจะแสดงขึ้น แต่จะแสดงเฉพาะเมนูในระดับบนสุดเท่านั้น คุณไม่สามารถใช้นิพจน์เงื่อนไขเพื่อแสดงหรือซ่อนคําสั่งหรือเมนูย่อยบนเมนูได้ คุณยังสามารถใช้นิพจน์เงื่อนไขเพื่อซ่อนหรือแสดงเมนูทางลัดแบบกําหนดเองหรือเมนูทางลัดส่วนกลาง
อีกทางหนึ่งคือ แมโครเมนูที่คุณสร้างในขั้นตอนที่ 2 อาจเป็นส่วนหนึ่งของวัตถุแมโคร ตัวอย่างเช่น ถ้าคุณมีเมนูทางลัดหลายเมนูสําหรับวัตถุหรือตัวควบคุมต่างๆ คุณสามารถสร้างวัตถุแมโครเดี่ยวที่มีแมโครเมนูที่จําเป็นทั้งหมดได้ ตรวจสอบให้แน่ใจว่ามีชื่อที่ไม่ซ้ํากันสําหรับแมโครย่อยแต่ละรายการ ในขั้นตอนที่ 3 ให้ใช้เครื่องหมายต่อไปนี้เพื่ออ้างอิงแมโคร MacroObjectName.SubmacroName ตัวอย่างเช่น mcrAddShortcutMenus.AddMenu2