เข้าถึงรายการที่เลือกอยู่ในปัจจุบันในชีตที่ใช้งานอยู่ ส่วนที่เลือกคือชุดเซลล์ที่ผู้ใช้ไฮไลต์ไว้ในชีต ซึ่งอาจเป็นช่วงที่ไม่ได้อยู่ติดกัน เซลล์หนึ่งที่เลือกคือเซลล์ปัจจุบัน ซึ่งโฟกัสปัจจุบันของผู้ใช้คือ เซลล์ปัจจุบันจะไฮไลต์ด้วยขอบที่สีเข้มขึ้นใน 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());
พารามิเตอร์
ชื่อ | Type | คำอธิบาย |
---|---|---|
direction | Direction | ทิศทางที่จะหาเซลล์ Edge ของเขตข้อมูลถัดไป |
รีเทิร์น
Range
— ช่วงที่ปรับแล้วซึ่งมีเซลล์ข้อมูล หรือ null
หากไม่มีการเลือก
การให้สิทธิ์
สคริปต์ที่ใช้วิธีการนี้ต้องได้รับสิทธิ์จากขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets