สคริปต์ที่ผูกกับคอนเทนเนอร์

สคริปต์จะเชื่อมโยงกับไฟล์ Google ชีต, Google เอกสาร, Google สไลด์ หรือ Google ฟอร์ม หากสร้างจากเอกสารนั้น แทนที่จะเป็นสคริปต์แบบสแตนด์อโลน ไฟล์ ที่สคริปต์ที่เชื่อมโยงแนบอยู่เรียกว่า "คอนเทนเนอร์" โดยทั่วไปแล้ว สคริปต์ที่เชื่อมโยงจะทำงานเหมือนสคริปต์แบบสแตนด์อโลน ยกเว้นว่าจะไม่ปรากฏใน Google ไดรฟ์ ไม่สามารถแยกออกจากไฟล์ที่เชื่อมโยงได้ และ จะมีสิทธิ์พิเศษบางอย่างเหนือไฟล์หลัก

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

สคริปต์ที่เชื่อมโยงคือส่วนเสริมของ Google Workspace ที่ไม่ได้เผยแพร่ ซึ่งจะทำงานได้เฉพาะกับไฟล์ที่เชื่อมโยงเท่านั้น

สร้างสคริปต์ที่เชื่อมโยง

คุณสร้างสคริปต์ที่เชื่อมโยงได้ในเอกสาร ชีต สไลด์ และฟอร์ม

เอกสาร ชีต หรือสไลด์

หากต้องการสร้างสคริปต์ที่เชื่อมโยงในเอกสาร ชีต หรือสไลด์ ให้เปิดเอกสารในเอกสาร สเปรดชีตในชีต หรืองานนำเสนอในสไลด์ แล้วคลิกส่วนขยาย > Apps Script หากต้องการเปิดสคริปต์อีกครั้งในอนาคต ให้ทำเช่นเดียวกันหรือเปิดสคริปต์จากแดชบอร์ด Apps Script

ฟอร์ม

หากต้องการสร้างสคริปต์ที่เชื่อมโยงในฟอร์ม ให้เปิดฟอร์มแล้วคลิกเพิ่มเติม > โปรแกรมแก้ไขสคริปต์ หากต้องการเปิดสคริปต์อีกครั้งในอนาคต ให้ทำเช่นเดียวกันหรือเปิดสคริปต์จากแดชบอร์ด Apps Script

เครื่องมือ clasp สร้างสคริปต์ที่เชื่อมโยงไม่ได้ แต่สามารถโคลนและแก้ไขได้

วิธีการพิเศษ

สคริปต์ที่เชื่อมโยงจะเรียกใช้บางเมธอดที่สคริปต์แบบสแตนด์อโลนทำไม่ได้

  • getActiveSpreadsheet getActiveDocument getActivePresentation และ getActiveForm อนุญาตให้สคริปต์ที่เชื่อมโยงอ้างอิงไฟล์หลักได้โดยไม่ต้องอ้างอิง รหัสของไฟล์
  • getUi ช่วยให้สคริปต์ที่เชื่อมโยงเข้าถึงอินเทอร์เฟซผู้ใช้ของไฟล์หลักเพื่อเพิ่มเมนู กล่องโต้ตอบ และแถบด้านข้างที่กำหนดเองได้
  • ในชีต getActiveSheet getActiveRange และ getActiveCell จะช่วยให้สคริปต์กำหนดแผ่นงานปัจจุบันของผู้ใช้ ช่วงของเซลล์ที่เลือก หรือ เซลล์แต่ละเซลล์ที่เลือกได้ setActiveSheet และ setActiveRange ช่วยให้สคริปต์เปลี่ยนการเลือกเหล่านั้นได้
  • ในเอกสาร getActiveTab getCursor และ getSelection สคริปต์จะกำหนดแท็บปัจจุบันของผู้ใช้ ตำแหน่งของ เคอร์เซอร์ของผู้ใช้ หรือข้อความที่เลือก setActiveTab setCursor และ setSelection จะช่วยให้สคริปต์เปลี่ยนแปลงตัวเลือกเหล่านั้นได้

ดูข้อมูลเพิ่มเติมได้ที่คู่มือการขยาย ชีตหรือคู่มือการขยาย เอกสาร

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

เมนู กล่องโต้ตอบ และแถบด้านข้างที่กำหนดเอง

สคริปต์ที่เชื่อมโยงจะปรับแต่งชีต, เอกสาร และ ฟอร์มได้โดยการเพิ่มเมนูที่กำหนดเองและ กล่องโต้ตอบหรือแถบด้านข้าง สคริปต์จะ โต้ตอบกับอินเทอร์เฟซผู้ใช้ได้เฉพาะอินสแตนซ์ปัจจุบันของไฟล์ที่เปิดอยู่เท่านั้น สคริปต์ที่เชื่อมโยงกับเอกสารหนึ่งจะไม่มีผลต่ออินเทอร์เฟซผู้ใช้ของเอกสารอื่น

ทริกเกอร์

สคริปต์ที่เชื่อมโยงจะใช้ทริกเกอร์อย่างง่าย เช่น ฟังก์ชัน onOpen พิเศษ ซึ่งจะทำงานโดยอัตโนมัติทุกครั้งที่ผู้ใช้ที่มีสิทธิ์เข้าถึงระดับแก้ไขเปิดไฟล์ เช่นเดียวกับสคริปต์ทุกประเภท สคริปต์เหล่านี้ยังใช้ทริกเกอร์ที่ติดตั้งได้ด้วย

ฟังก์ชันที่กำหนดเอง

ฟังก์ชันที่กำหนดเองคือฟังก์ชันในสคริปต์ที่เชื่อมโยงกับชีต ซึ่งคุณเรียกใช้ได้โดยตรงจากเซลล์โดยใช้ไวยากรณ์ =myFunctionName() ฟังก์ชันที่กำหนดเองคล้ายกับฟังก์ชันสำเร็จรูปหลายร้อยฟังก์ชันในชีต เช่น AVERAGE หรือ SUM เพียงแต่คุณกำหนดลักษณะการทำงานของฟังก์ชันที่กำหนดเอง

สิทธิ์เข้าถึงสคริปต์ที่เชื่อมโยง

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

หากต้องการดูวิธีแชร์ไฟล์คอนเทนเนอร์ของสคริปต์ โปรดดูแชร์ไฟล์จากไดรฟ์

สคริปต์ที่เชื่อมโยงกับคอนเทนเนอร์ทั้งหมดจะใช้รายการสิทธิ์เข้าถึงระดับเจ้าของ ผู้ดู และ ผู้แก้ไขเดียวกันที่กำหนดไว้สำหรับไฟล์คอนเทนเนอร์ เจ้าของคอนเทนเนอร์จะ เป็นเจ้าของโปรเจ็กต์สคริปต์ใหม่ไม่ว่าใครจะเป็นผู้สร้างก็ตาม