มาโครของ 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 ของ GGoogle ชีต ให้เลือกส่วนขยาย > Apps Script เพื่อเปิดสคริปต์ที่เชื่อมโยงกับชีตในเครื่องมือแก้ไข AApps 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. มาโครเหมาะสมที่สุดสําหรับการดําเนินการ Rote ที่จําเป็นต้องทําซ้ําบ่อยโดยมีการกําหนดค่าเพียงเล็กน้อยหรือไม่มีเลย ส่วนการดําเนินการอื่นๆ ให้พิจารณาใช้รายการเมนูที่กําหนดเองแทน
  3. โปรดอย่าลืมว่าแป้นพิมพ์ลัดที่เป็นมาโครต้องไม่ซ้ํากัน และแผ่นงานหนึ่งจะมีมาโครได้เพียง 10 รายการเท่านั้น มาโครเพิ่มเติมจะทํางานได้จากเมนูส่วนขยาย > มาโครเท่านั้น
  4. มาโครที่มีการเปลี่ยนแปลงเซลล์เดียวสามารถนําไปใช้กับช่วงของเซลล์ได้โดยการเลือกช่วงทั้งหมดก่อน จากนั้นเปิดใช้มาโคร ซึ่งหมายความว่าการสร้างมาโครที่ทําซ้ําการดําเนินการเดียวกันในช่วงเซลล์ที่กําหนดไว้ล่วงหน้ามักไม่จําเป็น

สิ่งที่ทําไม่ได้

มาโครสามารถทําอะไรได้บ้าง

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

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

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

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

กระจายมาโครในไลบรารีสคริปต์

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

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

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