Google ชีตช่วยให้คุณบันทึก
มาโครที่ทำซ้ำ
ชุดการโต้ตอบ UI ที่เฉพาะเจาะจงซึ่งคุณกำหนดไว้ได้ เมื่อบันทึก
มาโครแล้ว คุณจะลิงก์มาโครกับแป้นพิมพ์ลัดในรูปแบบ
Ctrl+Alt+Shift+Number ได้ ใช้แป้นพิมพ์ลัดดังกล่าวเพื่อเรียกใช้ขั้นตอนมาโครที่แน่นอนอีกครั้งอย่างรวดเร็ว ซึ่งโดยปกติจะใช้ในตำแหน่งอื่นหรือกับข้อมูลอื่น
นอกจากนี้ คุณยังเปิดใช้งานมาโครได้จากเมนู ส่วนขยาย
> มาโคร ของชีต
เมื่อคุณบันทึกมาโคร ชีตจะสร้างฟังก์ชัน Apps Script (ฟังก์ชัน มาโคร) ที่ทำซ้ำขั้นตอนมาโครโดยอัตโนมัติ ระบบจะเพิ่มฟังก์ชันมาโครลงในโปรเจ็กต์ Apps Script
ที่ ผูกกับชีตในไฟล์ชื่อ
macros.gs ในกรณีที่มีไฟล์โปรเจ็กต์ที่ผูกกับชีตที่มีชื่อดังกล่าวอยู่แล้ว ระบบจะผนวกฟังก์ชันมาโครเข้ากับไฟล์นั้น
นอกจากนี้ ชีตยังอัปเดตไฟล์ Manifest ของโปรเจ็กต์สคริปต์โดยอัตโนมัติ ซึ่งจะบันทึกชื่อและแป้นพิมพ์ลัดที่กำหนดให้กับมาโคร
เนื่องจากมาโครที่บันทึกไว้ทั้งหมดกำหนดไว้ภายใน Apps Script คุณจึงแก้ไขมาโครได้โดยตรงภายในเครื่องมือแก้ไขสคริปต์ Apps Script คุณยังเขียนมาโครตั้งแต่ต้นใน Apps Script หรือนำฟังก์ชันที่เขียนไว้แล้วมาเปลี่ยนเป็นมาโครก็ได้
สร้างมาโครใน Apps Script
คุณสามารถนำฟังก์ชันที่เขียนใน Apps Script มาใช้เป็นฟังก์ชันมาโครได้ วิธีที่ตรงไปตรงมาในการทำเช่นนี้คือการนำเข้า ฟังก์ชันที่มีอยู่จากโปรแกรมแก้ไขชีต
หรือคุณจะสร้างมาโครภายในโปรแกรมแก้ไข Apps Script โดยทำตามขั้นตอนต่อไปนี้ก็ได้
- ใน UI ของชีต ให้เลือกส่วนขยาย > Apps Script เพื่อเปิดสคริปต์ที่ผูกกับชีตในเครื่องมือแก้ไขสคริปต์ Apps Script
- เขียนฟังก์ชันมาโคร ฟังก์ชันมาโครไม่ควรใช้อาร์กิวเมนต์และไม่ควรส่งคืนค่า
- แก้ไขไฟล์ Manifest ของสคริปต์ เพื่อสร้างมาโครและลิงก์มาโครกับฟังก์ชันมาโคร กำหนดแป้นพิมพ์ลัดและชื่อที่ไม่ซ้ำกันให้กับมาโคร
- บันทึกโปรเจ็กต์สคริปต์ จากนั้นคุณจะใช้มาโครในชีตได้
- ทดสอบฟังก์ชันมาโครในชีตเพื่อยืนยันว่าฟังก์ชันทำงานได้ตามที่มุ่งหวังไว้
แก้ไขมาโคร
หากต้องการแก้ไขมาโครที่แนบกับชีต ให้ทำดังนี้
- ใน UI ของชีต ให้เลือกส่วนขยาย > มาโคร > จัดการมาโคร
- ค้นหามาโครที่ต้องการแก้ไข แล้วเลือก > แก้ไขมาโคร ซึ่งจะเปิดเครื่องมือแก้ไขสคริปต์ Apps Script ไปยังไฟล์โปรเจ็กต์ที่มีฟังก์ชันมาโคร
- แก้ไขฟังก์ชันมาโครเพื่อเปลี่ยนลักษณะการทำงานของมาโคร
- บันทึกโปรเจ็กต์สคริปต์ จากนั้นคุณจะใช้มาโครในชีตได้
- ทดสอบฟังก์ชันมาโครในชีตเพื่อยืนยันว่าฟังก์ชันทำงานได้ตามที่มุ่งหวังไว้
นำเข้าฟังก์ชันเป็นมาโคร
หากมีสคริปต์ที่ ผูก กับชีตอยู่แล้ว
คุณสามารถ นำเข้า ฟังก์ชันในสคริปต์เป็นมาโครใหม่ แล้วกำหนด
แป้นพิมพ์ลัดให้กับมาโครนั้นได้ โดย
แก้ไขไฟล์ Manifest
และเพิ่มองค์ประกอบอื่นลงในพร็อพเพอร์ตี้
sheets.macros[]
หรือทำตามขั้นตอนต่อไปนี้เพื่อนำเข้าฟังก์ชันเป็นมาโครจาก UI ของชีต
- ใน UI ของชีต ให้เลือกส่วนขยาย > มาโคร > นำเข้า
- เลือกฟังก์ชันจากรายการที่แสดง แล้วคลิกเพิ่มฟังก์ชัน
- เลือก เพื่อปิดกล่องโต้ตอบ
- เลือกส่วนขยาย > มาโคร > จัดการมาโคร
- ค้นหาฟังก์ชันที่เพิ่งนำเข้าในรายการ กำหนดแป้นพิมพ์ลัดที่ไม่ซ้ำกันให้กับมาโคร นอกจากนี้ คุณยังเปลี่ยนชื่อมาโครได้ที่นี่ โดยค่าเริ่มต้นชื่อจะเป็นชื่อของฟังก์ชัน
- คลิกอัปเดต เพื่อบันทึกการกำหนดค่ามาโคร
โครงสร้างไฟล์ Manifest สำหรับมาโคร
ข้อมูลโค้ดตัวอย่างไฟล์ Manifest ต่อไปนี้แสดงส่วนของไฟล์ Manifest ที่กำหนดมาโครของชีต
ส่วน sheets ของไฟล์ Manifest จะกำหนดชื่อและแป้นพิมพ์ลัดที่กำหนดให้กับมาโคร รวมถึงชื่อของฟังก์ชันมาโคร
ไฟล์ Manifest มีคอมโพเนนต์อื่นๆ ที่เกี่ยวข้องกับพร็อพเพอร์ตี้ Apps Script ช่องในคีย์ sheets จะเกี่ยวข้องโดยตรงกับฟังก์ชันการทำงานของชีต ตัวอย่างนี้เป็นเพียงส่วนหนึ่งของไฟล์ Manifest แบบเต็มและไม่ใช่ไฟล์ Manifest ที่ทำงานได้อย่างสมบูรณ์
{
...
"sheets": {
"macros": [{
"menuName": "QuickRowSum",
"functionName": "calculateRowSum",
"defaultShortcut": "Ctrl+Alt+Shift+1"
}, {
"menuName": "Headerfy",
"functionName": "updateToHeaderStyle",
"defaultShortcut": "Ctrl+Alt+Shift+2"
}]
}
}
ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีสร้างไฟล์ Manifest ของมาโครของชีตได้ที่แหล่งข้อมูลไฟล์ Manifest ของมาโครของชีต
แนวทางปฏิบัติแนะนำ
เมื่อสร้างหรือจัดการมาโครใน Apps Script ให้ทำตามหลักเกณฑ์ต่อไปนี้
- มาโครจะทำงานได้ดีขึ้นเมื่อมีขนาดเล็ก จำกัดจำนวนการดำเนินการที่มาโครทำได้หากเป็นไปได้
- มาโครเหมาะที่สุดสำหรับการดำเนินการที่ต้องทำซ้ำบ่อยๆ โดยมีการกำหนดค่าเพียงเล็กน้อยหรือไม่ต้องกำหนดค่าเลย สำหรับการดำเนินการอื่นๆ ให้พิจารณา ใช้ รายการในเมนูที่กำหนดเอง แทน
- โปรดทราบเสมอว่าแป้นพิมพ์ลัดของมาโครต้องไม่ซ้ำกัน และชีตหนึ่งๆ จะมีมาโครที่มีแป้นพิมพ์ลัดได้เพียง 10 รายการในเวลาใดก็ตาม ส่วนมาโครอื่นๆ จะเรียกใช้ได้จากเมนูส่วนขยาย > มาโคร เท่านั้น
- คุณสามารถใช้มาโครที่ทำการเปลี่ยนแปลงในเซลล์เดียวกับช่วงของเซลล์ได้โดยเลือกช่วงทั้งหมดก่อน แล้วจึงเปิดใช้งานมาโคร ซึ่งหมายความว่าคุณไม่จำเป็นต้องสร้างมาโครที่ทำซ้ำการดำเนินการเดียวกันในเซลล์ช่วงที่กำหนดไว้ล่วงหน้า
สิ่งที่คุณทำไม่ได้
มีข้อจำกัดบางประการเกี่ยวกับสิ่งที่คุณทำได้ด้วยมาโคร
ใช้มาโครนอกสคริปต์ที่ผูกไว้
มาโครกำหนดไว้ในสคริปต์ที่ผูกกับชีตที่เฉพาะเจาะจง ระบบจะละเว้นการกำหนดมาโคร หากกำหนดไว้ใน สคริปต์แบบสแตนด์อโลนหรือ เว็บแอป
กำหนดมาโครในส่วนเสริม Google Workspace ของชีต
คุณไม่สามารถเผยแพร่การกำหนดมาโครโดยใช้ส่วนเสริม Google Workspace ของชีต ผู้ใช้ส่วนเสริมนั้นจะละเว้นการกำหนดมาโครในโปรเจ็กต์ส่วนเสริมของชีต
เผยแพร่มาโครในไลบรารีสคริปต์
คุณไม่สามารถเผยแพร่การกำหนดมาโครโดยใช้ไลบรารี Apps Script
ใช้มาโครนอกชีต
มาโครเป็นฟีเจอร์ในชีตเท่านั้น และไม่มีใน Google เอกสาร, ฟอร์ม หรือ Google สไลด์