ไม่สามารถ getSheet ID ใน Google Apps Script
ฉันพยายามรับรหัสแผ่นงานที่ใช้งานอยู่จาก [คำตอบนี้] [1] โดยใช้:
function getActiveSheetId(){
var id = SpreadsheetApp.getActiveSheet().getSheetId();
Logger.log(id.toString());
return id;
}
แต่คนตัดไม้ของฉันบันทึกเป็น 0 มีวิธีอื่นในการทำให้เหมือนกันหรือไม่? ฉันต้องการอ่านแผ่นงานนี้จากไฟล์แผ่นงานอื่นจากนั้นดำเนินการ
[1]: https://stackoverflow.com/questions/26682269/get-google-sheet-by-id#:~:text=filter(%20function(s)%20%7B,Logs%20or%20use%20the % 20debugger.
คำตอบ
ไม่มีอะไรผิดปกติกับรหัส
จะคืนค่า 0 หากคุณใช้ฟังก์ชันนี้กับแผ่นงานแรกซึ่งเป็นรหัสแผ่นงานที่ถูกต้องตามที่คุณเห็นจาก url ของหน้า:
และหากคุณใช้ฟังก์ชันเดียวกันกับแผ่นงานอื่นคุณจะได้รับรหัสแผ่นงานที่ถูกต้องอีกครั้ง:
หากคุณต้องการรับแผ่นงานตาม id ให้อ้างอิงโพสต์นี้:
รับ Google Sheet ด้วย ID?
ตัวอย่าง:
function getSheetById(id) { return SpreadsheetApp.getActive().getSheets().filter( function(s) {return s.getSheetId() === id;} )[0]; }
ตัวอย่างเช่นหากคุณต้องการรับแผ่นงานแรก (id = 0) ให้ทำดังนี้:
var sheet = getSheetById(0);
จากนั้นคุณสามารถใช้การดำเนินการชีตทั้งหมดกับสิ่งนี้ได้sheetตามปกติ