ระดับการเขียนโค้ด: ปานกลาง
ระยะเวลา: 30 นาที
ประเภทโปรเจ็กต์: ส่วนเสริมของ Google Workspace
วัตถุประสงค์
- ทำความเข้าใจสิ่งที่โซลูชันทำ
- ทำความเข้าใจสิ่งที่บริการ Apps Script ทำภายในโซลูชัน
- ตั้งค่าสภาพแวดล้อม
- ตั้งค่าสคริปต์
- เรียกใช้สคริปต์
เกี่ยวกับโซลูชันนี้
การคัดลอกมาโครของ Google ชีตจากสเปรดชีตหนึ่งไปยังอีกสเปรดชีตหนึ่งด้วยตนเองอาจ เสียเวลาและเกิดข้อผิดพลาดได้ ส่วนเสริม Google Workspace นี้จะคัดลอกโปรเจ็กต์สคริปต์และแนบไปกับสเปรดชีตที่ผู้ใช้ระบุโดยอัตโนมัติ แม้ว่าโซลูชันนี้จะเน้นที่มาโครของชีต แต่คุณก็ใช้โซลูชันนี้เพื่อคัดลอก และแชร์สคริปต์ที่เชื่อมโยงกับคอนเทนเนอร์ได้

วิธีการทำงาน
สคริปต์จะคัดลอกโปรเจ็กต์ Apps Script ที่เชื่อมโยงกับสเปรดชีตต้นฉบับและสร้างโปรเจ็กต์ Apps Script ที่ซ้ำกันซึ่งเชื่อมโยงกับสเปรดชีตที่ผู้ใช้ระบุ
บริการ Apps Script
โซลูชันนี้ใช้บริการต่อไปนี้
- บริการเรียก URL - เชื่อมต่อกับ Apps Script API เพื่อคัดลอกโปรเจ็กต์ต้นฉบับและสร้างสำเนา
- บริการสคริปต์ - ให้สิทธิ์ API ของ Apps Script เพื่อหลีกเลี่ยงข้อความแจ้งการให้สิทธิ์ครั้งที่ 2
- บริการสเปรดชีต - เปิดสเปรดชีตเป้าหมาย เพื่อเพิ่มโปรเจ็กต์ Apps Script ที่คัดลอก
- บริการการ์ด - สร้างอินเทอร์เฟซผู้ใช้ของส่วนเสริม
ข้อกำหนดเบื้องต้น
หากต้องการใช้ตัวอย่างนี้ คุณต้องมีข้อกำหนดเบื้องต้นต่อไปนี้
- บัญชี Google (บัญชี Google Workspace อาจต้องได้รับการอนุมัติจากผู้ดูแลระบบ)
เว็บเบราว์เซอร์ที่มีสิทธิ์เข้าถึงอินเทอร์เน็ต
เปิดใช้ Google Apps Script API ในการตั้งค่าแดชบอร์ดของ Apps Script
ตั้งค่าสภาพแวดล้อม
เปิดโปรเจ็กต์ที่อยู่ในระบบคลาวด์ในคอนโซล Google Cloud
หากยังไม่ได้เปิด ให้เปิดโปรเจ็กต์ที่อยู่ในระบบคลาวด์ที่คุณต้องการใช้ สำหรับตัวอย่างนี้
- ไปที่หน้าเลือกโปรเจ็กต์ในคอนโซล Google Cloud
- เลือกโปรเจ็กต์ Google Cloud ที่ต้องการใช้ หรือคลิกสร้างโปรเจ็กต์ แล้วทำตามวิธีการบนหน้าจอ หากสร้างโปรเจ็กต์ Google Cloud คุณอาจต้องเปิดการเรียกเก็บเงินสำหรับโปรเจ็กต์
เปิดใช้ Google Apps Script API
การเริ่มต้นใช้งานอย่างรวดเร็วนี้ใช้ Google Apps Script API
ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้เปิด Google Apps Script API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์
กำหนดค่าหน้าจอขอความยินยอม OAuth
ส่วนเสริมของ Google Workspace ต้องมีการกำหนดค่าหน้าจอขอความยินยอม การกำหนดค่าหน้าจอขอความยินยอม OAuth ของส่วนเสริมจะกำหนดสิ่งที่ Google แสดงต่อผู้ใช้
- ในคอนโซล Google API ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > การสร้างแบรนด์
- หากกำหนดค่าแพลตฟอร์มการตรวจสอบสิทธิ์ของ Google แล้ว คุณจะกำหนดค่าการตั้งค่าหน้าจอขอความยินยอม OAuth ต่อไปนี้ได้ในการสร้างแบรนด์ กลุ่มเป้าหมาย และการเข้าถึงข้อมูล หากเห็นข้อความที่ระบุว่ายังไม่ได้กำหนดค่าแพลตฟอร์ม Google Auth ให้คลิกเริ่มต้นใช้งาน
- ในส่วนข้อมูลแอป ให้ป้อนชื่อแอปในชื่อแอป
- ในอีเมลสนับสนุนสำหรับผู้ใช้ ให้เลือกอีเมลสนับสนุนที่ผู้ใช้สามารถติดต่อคุณได้หากมีข้อสงสัยเกี่ยวกับการยินยอม
- คลิกถัดไป
- ในส่วนกลุ่มเป้าหมาย ให้เลือกภายใน
- คลิกถัดไป
- ในส่วนข้อมูลติดต่อ ให้ป้อนอีเมลที่คุณต้องการรับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงในโปรเจ็กต์
- คลิกถัดไป
- ในส่วนเสร็จสิ้น ให้อ่านนโยบายข้อมูลผู้ใช้ของบริการ Google API และหากยอมรับ ให้เลือกฉันยอมรับบริการ Google API: นโยบายข้อมูลผู้ใช้
- คลิกต่อไป
- คลิกสร้าง
- ในตอนนี้ คุณข้ามการเพิ่มขอบเขตได้ ในอนาคต เมื่อสร้างแอปเพื่อใช้ภายนอกองค์กร Google Workspace คุณจะต้องเปลี่ยนประเภทผู้ใช้เป็นภายนอก จากนั้น เพิ่มขอบเขตการให้สิทธิ์ที่แอปของคุณต้องการ ดูข้อมูลเพิ่มเติมได้ที่คู่มือกำหนดค่าความยินยอม OAuth ฉบับเต็ม
ตั้งค่าสคริปต์
สร้างโปรเจ็กต์ Apps Script
- คลิกปุ่มต่อไปนี้เพื่อเปิดโปรเจ็กต์ Apps Script แชร์มาโคร
เปิดโปรเจ็กต์ - คลิกภาพรวม
- ในหน้าภาพรวม ให้คลิกทำสำเนา
คัดลอกหมายเลขโปรเจ็กต์ที่อยู่ในระบบคลาวด์
- ในคอนโซล Google API ให้ไปที่เมนู > IAM และผู้ดูแลระบบ > การตั้งค่า
- คัดลอกค่าในช่องหมายเลขโปรเจ็กต์
ตั้งค่าโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของโปรเจ็กต์ Apps Script
- ในโปรเจ็กต์ Apps Script ที่คัดลอก ให้คลิกการตั้งค่าโปรเจ็กต์
- ในส่วนโปรเจ็กต์ Google Cloud Platform (GCP) ให้คลิกเปลี่ยนโปรเจ็กต์
- ในหมายเลขโปรเจ็กต์ GCP ให้วางหมายเลขโปรเจ็กต์ Google Cloud
- คลิกตั้งค่าโปรเจ็กต์
ติดตั้งการทดสอบการติดตั้งใช้งาน
- ในโปรเจ็กต์ Apps Script ที่คัดลอก ให้คลิกเอดิเตอร์
- เปิดไฟล์
UI.gsแล้วคลิกเรียกใช้ ให้สิทธิ์ สคริปต์เมื่อได้รับข้อความแจ้ง - คลิกทำให้ใช้งานได้ > ทดสอบการทำให้ใช้งานได้
- คลิกติดตั้ง > เสร็จสิ้น
รับสคริปต์มาโครและข้อมูลสเปรดชีต
- เปิดสเปรดชีตชีตที่มีมาโครและคุณมีสิทธิ์ แก้ไข หากต้องการใช้สเปรดชีตตัวอย่าง ให้ทำสำเนาสเปรดชีตมาโครตัวอย่าง
- คลิกส่วนขยาย > Apps Script
- ในโปรเจ็กต์ Apps Script ให้คลิกการตั้งค่าโปรเจ็กต์
- คลิกคัดลอกใต้รหัสสคริปต์
- เก็บรหัสสคริปต์ไว้เพื่อใช้ในขั้นตอนถัดไป
- เปิดหรือสร้างสเปรดชีตใหม่ที่คุณต้องการเพิ่มมาโคร คุณต้อง มีสิทธิ์แก้ไขสเปรดชีต
- คัดลอก URL ของสเปรดชีตและเก็บไว้เพื่อใช้ในขั้นตอนถัดไป
เรียกใช้สคริปต์
ตรวจสอบว่าได้เปิดใช้ Google Apps Script API ในการตั้งค่าแดชบอร์ดแล้ว ทำตามขั้นตอนในส่วนต่อไปนี้เพื่อเรียกใช้สคริปต์
คัดลอกมาโคร
- ในชีต ให้เปิดส่วนเสริม Share Macro ในแถบด้านข้างทางขวา

- วางรหัสสคริปต์ในส่วนมาโครแหล่งที่มา
- วาง URL ของสเปรดชีตในส่วนสเปรดชีตเป้าหมาย
- คลิกมาโครการแชร์
- คลิกให้สิทธิ์เข้าถึงและให้สิทธิ์ส่วนเสริม
- ทำขั้นตอนที่ 2-4 ซ้ำ
เปิดมาโครที่คัดลอก
- เปิดสเปรดชีตที่คุณคัดลอกมาโครไปวางหากยังไม่ได้เปิด
- คลิกส่วนขยาย > Apps Script
- หากไม่เห็นโปรเจ็กต์ Apps Script ที่คัดลอกไว้ ให้ตรวจสอบว่าได้เปิดใช้ Google Apps Script API ในการตั้งค่า แดชบอร์ด แล้ว และทำตามขั้นตอนที่ระบุไว้ในส่วนคัดลอกมาโครอีกครั้ง
ตรวจสอบโค้ด
หากต้องการตรวจสอบโค้ด Apps Script สำหรับโซลูชันนี้ ให้คลิกดูซอร์สโค้ดด้านล่าง
ดูซอร์สโค้ด
Code.gs
UI.gs
appsscript.json
ผู้ร่วมให้ข้อมูล
ตัวอย่างนี้ได้รับการดูแลโดย Google โดยได้รับความช่วยเหลือจาก Google Developer Expert