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