มาโครของ 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 เอกสาร ฟอร์ม หรือสไลด์