มาโครของ Google ชีต

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 โดยทำตามขั้นตอนต่อไปนี้ก็ได้

  1. ใน UI ของ Google ชีต ให้เลือกส่วนขยาย > Apps Script เพื่อเปิดสคริปต์ที่เชื่อมโยงกับชีตในโปรแกรมแก้ไข Apps Script
  2. เขียนฟังก์ชันมาโคร ฟังก์ชันมาโครไม่ควรมีอาร์กิวเมนต์และไม่ควรแสดงผลค่าใดๆ
  3. แก้ไขไฟล์ Manifest ของสคริปต์ เพื่อสร้างมาโครและลิงก์มาโครกับฟังก์ชันมาโคร กำหนด แป้นพิมพ์ลัดและชื่อที่ไม่ซ้ำกัน
  4. บันทึกโปรเจ็กต์สคริปต์ จากนั้นมาโครจะพร้อมใช้งานในชีต
  5. ทดสอบฟังก์ชันมาโครในชีตเพื่อยืนยันว่าฟังก์ชันทำงานได้ตามที่มุ่งหวังไว้

การแก้ไขมาโคร

คุณแก้ไขมาโครที่แนบกับชีตได้โดยทำดังนี้

  1. ใน UI ของ Google ชีต ให้เลือกส่วนขยาย > มาโคร > จัดการมาโคร
  2. ค้นหามาโครที่ต้องการแก้ไข แล้วเลือก > แก้ไขมาโคร ซึ่งจะเปิด เครื่องมือแก้ไข Apps Script ไปยังไฟล์โปรเจ็กต์ที่มีฟังก์ชันมาโคร
  3. แก้ไขฟังก์ชันมาโครเพื่อเปลี่ยนลักษณะการทำงานของมาโคร
  4. บันทึกโปรเจ็กต์สคริปต์ จากนั้นมาโครจะพร้อมใช้งานในชีต
  5. ทดสอบฟังก์ชันมาโครในชีตเพื่อยืนยันว่าฟังก์ชันทำงานได้ตามที่มุ่งหวังไว้

การนำเข้าฟังก์ชันเป็นมาโคร

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

หรือทำตามขั้นตอนต่อไปนี้เพื่อนำเข้าฟังก์ชันเป็นมาโครจาก UI ของชีต

  1. ใน UI ของ Google ชีต ให้เลือกส่วนขยาย > มาโคร > นําเข้า
  2. เลือกฟังก์ชันจากรายการที่แสดง แล้วคลิกเพิ่มฟังก์ชัน
  3. เลือก เพื่อปิดกล่องโต้ตอบ
  4. เลือกส่วนขยาย > มาโคร > จัดการมาโคร
  5. ค้นหาฟังก์ชันที่คุณเพิ่งนำเข้าในรายการ กำหนดแป้นพิมพ์ ลัดที่ไม่ซ้ำกันให้กับมาโคร นอกจากนี้ คุณยังเปลี่ยนชื่อมาโครได้ที่นี่ โดยชื่อจะ เป็นชื่อฟังก์ชันโดยค่าเริ่มต้น
  6. คลิกอัปเดตเพื่อบันทึกการกำหนดค่ามาโคร

โครงสร้างไฟล์ 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 เราขอแนะนำให้คุณ ปฏิบัติตามหลักเกณฑ์ต่อไปนี้

  1. มาโครจะมีประสิทธิภาพมากขึ้นเมื่อมีขนาดเล็ก จำกัดจำนวนการดำเนินการที่มาโครทำเท่าที่จำเป็น
  2. มาโครเหมาะที่สุดสำหรับการดำเนินการที่ต้องทำซ้ำๆ บ่อยๆ โดยไม่ต้องกำหนดค่าหรือกำหนดค่าน้อยมาก สำหรับการดำเนินการอื่นๆ ให้พิจารณา ใช้รายการเมนูที่กำหนดเองแทน
  3. โปรดทราบว่าแป้นพิมพ์ลัดของมาโครต้องไม่ซ้ำกัน และชีตหนึ่งๆ จะมีมาโครที่มีแป้นพิมพ์ลัดได้เพียง 10 รายการในแต่ละครั้ง มาโครเพิ่มเติมจะเรียกใช้ได้จากเมนูส่วนขยาย > มาโครเท่านั้น
  4. คุณนำมาโครที่ทำการเปลี่ยนแปลงในเซลล์เดียวไปใช้กับช่วงของเซลล์ได้โดยเลือกทั้งช่วงก่อน แล้วจึงเปิดใช้งานมาโคร ซึ่งหมายความว่าคุณไม่จำเป็นต้องสร้างมาโครที่ทำซ้ำการดำเนินการเดียวกันในเซลล์ช่วงที่กำหนดไว้ล่วงหน้า

สิ่งที่ทำไม่ได้

มาโครมีข้อจำกัดบางประการที่คุณทำได้ ดังนี้

ใช้มาโครนอกสคริปต์ที่เชื่อมโยง

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

กำหนดมาโครในส่วนเสริมของชีต

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

เผยแพร่มาโครในคลังสคริปต์

คุณจะเผยแพร่คำจำกัดความของมาโครโดยใช้ไลบรารีของ Apps Script ไม่ได้

ใช้มาโครภายนอก Google ชีต

มาโครเป็นฟีเจอร์ใน Google ชีตเท่านั้น และไม่มีใน Google เอกสาร ฟอร์ม หรือสไลด์