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