เข้าถึงการเลือกที่ใช้งานอยู่ในชีตที่ใช้งานอยู่ ตัวเลือกคือชุดเซลล์ที่ผู้ใช้ไฮไลต์ไว้ในชีต ซึ่งอาจเป็นช่วงที่ไม่อยู่ติดกับ เซลล์หนึ่งที่เลือกไว้คือเซลล์ปัจจุบันซึ่งโฟกัสปัจจุบันของผู้ใช้คือเซลล์ปัจจุบันที่ไฮไลต์ด้วยเส้นขอบสีเข้มใน UI ของ Google ชีต
var activeSheet = SpreadsheetApp.getActiveSheet(); var rangeList = activeSheet.getRangeList(['A1:B4', 'D1:E4']); rangeList.activate(); var selection = activeSheet.getSelection(); // Current Cell: D1 console.log('Current Cell: ' + selection.getCurrentCell().getA1Notation()); // Active Range: D1:E4 console.log('Active Range: ' + selection.getActiveRange().getA1Notation()); // Active Ranges: A1:B4, D1:E4 var ranges = selection.getActiveRangeList().getRanges(); for (var i = 0; i < ranges.length; i++) { console.log('Active Ranges: ' + ranges[i].getA1Notation()); } console.log('Active Sheet: ' + selection.getActiveSheet().getName());
วิธีการ
วิธีการ | ประเภทการแสดงผล | รายละเอียดแบบย่อ |
---|---|---|
getActiveRange() | Range | แสดงผลช่วงที่เลือกในชีตที่ใช้งานอยู่ หรือ null หากไม่มีช่วงที่ใช้งานอยู่ |
getActiveRangeList() | RangeList | แสดงผลรายการช่วงที่ใช้งานอยู่ในชีตที่ใช้งานอยู่หรือ null หากไม่มีช่วงที่ใช้งานอยู่ |
getActiveSheet() | Sheet | แสดงผลแผ่นงานที่ใช้งานอยู่ในสเปรดชีต |
getCurrentCell() | Range | แสดงผลเซลล์ปัจจุบัน (ที่ไฮไลต์) ที่เลือกไว้ในช่วงใดช่วงหนึ่งที่ใช้งานอยู่ หรือ null หากยังไม่มีเซลล์ปัจจุบัน |
getNextDataRange(direction) | Range | เริ่มต้นจาก current cell และ active range และเคลื่อนที่ไปในทิศทางที่กําหนด จะแสดงผลช่วงที่ปรับโดยมีการปรับขอบที่เหมาะสมของช่วงให้ครอบคลุม next data cell ขณะที่ยังครอบคลุมเซลล์ปัจจุบัน |
เอกสารโดยละเอียด
getActiveRange()
แสดงผลช่วงที่เลือกในชีตที่ใช้งานอยู่ หรือ null
หากไม่มีช่วงที่ใช้งานอยู่ หากเลือกหลายช่วง วิธีนี้จะแสดงเฉพาะช่วงที่เลือกล่าสุดเท่านั้น
var selection = SpreadsheetApp.getActiveSpreadsheet().getSelection(); var activeRange = selection.getActiveRange();
ไปกลับ
Range
— ช่วงที่ใช้งานอยู่
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getActiveRangeList()
แสดงผลรายการช่วงที่ใช้งานอยู่ในชีตที่ใช้งานอยู่หรือ null
หากไม่มีช่วงที่ใช้งานอยู่
หากเลือกช่วงเดียว จะถือว่าเป็นการเรียกใช้ getActiveRange()
var sheet = SpreadsheetApp.getActiveSheet(); // Returns the list of active ranges. var activeRangeList = sheet.getActiveRangeList();
ไปกลับ
RangeList
— รายการช่วงที่ใช้งานอยู่
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getActiveSheet()
แสดงผลแผ่นงานที่ใช้งานอยู่ในสเปรดชีต
var selection = SpreadsheetApp.getActiveSpreadsheet().getSelection(); var activeSheet = selection.getActiveSheet();
ไปกลับ
Sheet
— ชีตที่ใช้งานอยู่ในสเปรดชีต
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getCurrentCell()
แสดงผลเซลล์ปัจจุบัน (ที่ไฮไลต์) ที่เลือกไว้ในช่วงใดช่วงหนึ่งที่ใช้งานอยู่ หรือ null
หากยังไม่มีเซลล์ปัจจุบัน
var selection = SpreadsheetApp.getActiveSpreadsheet().getSelection(); // Returns the current highlighted cell in the one of the active ranges. var currentCell = selection.getCurrentCell();
ไปกลับ
Range
— เซลล์ปัจจุบัน
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets
getNextDataRange(direction)
เริ่มต้นจาก current cell
และ active range
และเคลื่อนที่ไปในทิศทางที่กําหนด จะแสดงผลช่วงที่ปรับโดยมีการปรับขอบที่เหมาะสมของช่วงให้ครอบคลุม next data cell
ขณะที่ยังครอบคลุมเซลล์ปัจจุบัน หากช่วงที่ใช้งานอยู่ไม่มีขอบเขตตาม dimension
ของทิศทาง ช่วงที่ใช้งานอยู่เดิมจะแสดงผล หากไม่มีเซลล์ปัจจุบันหรือช่วงที่ทํางานอยู่ ระบบจะแสดงผล null
ซึ่งเทียบเท่ากับการเลือกช่วงในเครื่องมือแก้ไขและกด Ctrl+Shift+[arrow key]
// Assume the active spreadsheet is blank. var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; // Makes C3 the current cell and C3:E5 the active range. sheet.getRange('C3:E5').activate(); // Logs 'C1:E3' console.log(SpreadsheetApp.getSelection() .getNextDataRange(SpreadsheetApp.Direction.UP) .getA1Notation());
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
direction | Direction | ทิศทางการค้นหาเซลล์ขอบเขตข้อมูลถัดไป |
ไปกลับ
Range
— ช่วงที่ปรับซึ่งมีเซลล์ข้อมูล หรือ null
หากไม่มีการเลือก
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets