Google ชีตช่วยให้คุณบันทึกมาโครที่ทำซ้ำ
ชุดการโต้ตอบ UI ที่เฉพาะเจาะจงซึ่งคุณกำหนดได้ เมื่อบันทึกมาโครแล้ว คุณจะลิงก์มาโครกับแป้นพิมพ์ลัดในรูปแบบ
Ctrl+Alt+Shift+Number
ได้ คุณสามารถใช้แป้นพิมพ์ลัดดังกล่าวเพื่อเรียกใช้
ขั้นตอนมาโครที่แน่นอนอีกครั้งได้อย่างรวดเร็ว โดยปกติจะอยู่ในที่อื่นหรือในข้อมูลอื่น
คุณยังเปิดใช้งานมาโครจากเมนูส่วนขยาย
> มาโครของ Google ชีตได้ด้วย
เมื่อบันทึกมาโคร Google ชีตจะสร้างฟังก์ชัน Apps Script (ฟังก์ชันมาโคร) โดยอัตโนมัติ ซึ่งจะจำลองขั้นตอนของมาโคร ระบบจะเพิ่มฟังก์ชันมาโคร
ลงในโปรเจ็กต์ Apps Script ที่เชื่อมโยง
กับชีตในไฟล์ชื่อ macros.gs
ในกรณีที่มีไฟล์โปรเจ็กต์ที่เชื่อมโยงกับชีตที่มีชื่อนั้นอยู่แล้ว ระบบจะผนวกฟังก์ชันมาโคร
เข้ากับไฟล์ดังกล่าว นอกจากนี้ Google ชีตยังอัปเดตไฟล์ Manifest ของโปรเจ็กต์สคริปต์โดยอัตโนมัติ ซึ่งจะบันทึกชื่อและแป้นพิมพ์ลัดที่กำหนดให้กับมาโคร
เนื่องจากมาโครที่บันทึกทุกรายการได้รับการกำหนดไว้ทั้งหมดภายใน Apps Script คุณจึง แก้ไขมาโครได้โดยตรงภายในตัวแก้ไข Apps Script คุณยังเขียนมาโคร ตั้งแต่ต้นใน Apps Script หรือนำฟังก์ชันที่เขียนไว้แล้วมา เปลี่ยนเป็นมาโครได้ด้วย
การสร้างมาโครใน Apps Script
คุณสามารถนำฟังก์ชันที่เขียนใน Apps Script ไปใช้เป็นฟังก์ชันมาโครได้ วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการนำเข้าฟังก์ชันที่มีอยู่จากโปรแกรมแก้ไข Google ชีต
หรือคุณจะสร้างมาโครภายในเครื่องมือแก้ไข Apps Script โดยทำตามขั้นตอนต่อไปนี้ก็ได้
- ใน UI ของ Google ชีต ให้เลือกส่วนขยาย > Apps Script เพื่อเปิดสคริปต์ที่เชื่อมโยงกับชีตในโปรแกรมแก้ไข Apps Script
- เขียนฟังก์ชันมาโคร ฟังก์ชันมาโครไม่ควรมีอาร์กิวเมนต์และไม่ควรแสดงผลค่าใดๆ
- แก้ไขไฟล์ Manifest ของสคริปต์ เพื่อสร้างมาโครและลิงก์มาโครกับฟังก์ชันมาโคร กำหนด แป้นพิมพ์ลัดและชื่อที่ไม่ซ้ำกัน
- บันทึกโปรเจ็กต์สคริปต์ จากนั้นมาโครจะพร้อมใช้งานในชีต
- ทดสอบฟังก์ชันมาโครในชีตเพื่อยืนยันว่าฟังก์ชันทำงานได้ตามที่มุ่งหวังไว้
การแก้ไขมาโคร
คุณแก้ไขมาโครที่แนบกับชีตได้โดยทำดังนี้
- ใน UI ของ Google ชีต ให้เลือกส่วนขยาย > มาโคร > จัดการมาโคร
- ค้นหามาโครที่ต้องการแก้ไข แล้วเลือก > แก้ไขมาโคร ซึ่งจะเปิด เครื่องมือแก้ไข Apps Script ไปยังไฟล์โปรเจ็กต์ที่มีฟังก์ชันมาโคร
- แก้ไขฟังก์ชันมาโครเพื่อเปลี่ยนลักษณะการทำงานของมาโคร
- บันทึกโปรเจ็กต์สคริปต์ จากนั้นมาโครจะพร้อมใช้งานในชีต
- ทดสอบฟังก์ชันมาโครในชีตเพื่อยืนยันว่าฟังก์ชันทำงานได้ตามที่มุ่งหวังไว้
การนำเข้าฟังก์ชันเป็นมาโคร
หากมีสคริปต์ที่เชื่อมโยงกับชีตอยู่แล้ว
คุณจะนำเข้าฟังก์ชันในสคริปต์เป็นมาโครใหม่ แล้วกำหนด
แป้นพิมพ์ลัดให้ได้ คุณทำได้โดยแก้ไขไฟล์ Manifest
และเพิ่มองค์ประกอบอื่นลงในพร็อพเพอร์ตี้
sheets.macros[]
หรือทำตามขั้นตอนต่อไปนี้เพื่อนำเข้าฟังก์ชันเป็นมาโครจาก UI ของชีต
- ใน UI ของ Google ชีต ให้เลือกส่วนขยาย > มาโคร > นําเข้า
- เลือกฟังก์ชันจากรายการที่แสดง แล้วคลิกเพิ่มฟังก์ชัน
- เลือก เพื่อปิดกล่องโต้ตอบ
- เลือกส่วนขยาย > มาโคร > จัดการมาโคร
- ค้นหาฟังก์ชันที่คุณเพิ่งนำเข้าในรายการ กำหนดแป้นพิมพ์ ลัดที่ไม่ซ้ำกันให้กับมาโคร นอกจากนี้ คุณยังเปลี่ยนชื่อมาโครได้ที่นี่ โดยชื่อจะ เป็นชื่อฟังก์ชันโดยค่าเริ่มต้น
- คลิกอัปเดตเพื่อบันทึกการกำหนดค่ามาโคร
โครงสร้างไฟล์ Manifest สำหรับมาโคร
ข้อมูลโค้ดตัวอย่างไฟล์ Manifest ต่อไปนี้แสดงส่วนของ Manifest ที่กำหนดมาโคร Google ชีต
sheets
ในไฟล์ 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 ชีตที่เฉพาะเจาะจง ระบบจะไม่สนใจคำจำกัดความของมาโครหากกำหนดไว้ในสคริปต์แบบสแตนด์อโลนหรือเว็บแอป
กำหนดมาโครในส่วนเสริมของชีต
คุณไม่สามารถเผยแพร่คำจำกัดความของมาโครโดยใช้ส่วนเสริมของชีตได้ ผู้ใช้ส่วนเสริมนั้นจะไม่สนใจคำจำกัดความของมาโครในโปรเจ็กต์ส่วนเสริมของชีต
เผยแพร่มาโครในคลังสคริปต์
คุณจะเผยแพร่คำจำกัดความของมาโครโดยใช้ไลบรารีของ Apps Script ไม่ได้
ใช้มาโครภายนอก Google ชีต
มาโครเป็นฟีเจอร์ใน Google ชีตเท่านั้น และไม่มีใน Google เอกสาร ฟอร์ม หรือสไลด์