เข้าถึงการเลือกที่ใช้งานอยู่ในปัจจุบันในชีตที่ใช้งานอยู่ รายการที่เลือกคือชุดของเซลล์ที่ผู้ใช้ไฮไลต์ไว้ในแผ่นงาน ซึ่งอาจเป็นช่วงที่ไม่ติดกัน เซลล์หนึ่งในรายการที่เลือกคือเซลล์ปัจจุบัน ซึ่งจุดโฟกัสปัจจุบันของผู้ใช้คือเซลล์ปัจจุบันที่ไฮไลต์เส้นขอบสีเข้มใน UI ของ Google ชีต
var activeSheet = SpreadsheetApp.getActiveSheet(); var rangeList = activeSheet.getRangeList(['A1:B4', 'D1:E4']); rangeList.activate(); var selection = activeSheet.getSelection(); // Current Cell: D1 Logger.log('Current Cell: ' + selection.getCurrentCell().getA1Notation()); // Active Range: D1:E4 Logger.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++) { Logger.log('Active Ranges: ' + ranges[i].getA1Notation()); } Logger.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" Logger.log(SpreadsheetApp.getSelection().getNextDataRange(Direction.UP).getA1Notation());
พารามิเตอร์
ชื่อ | ประเภท | คำอธิบาย |
---|---|---|
direction | Direction | ทิศทางที่จะค้นหาเซลล์ขอบถัดไปของเขตข้อมูล |
ไปกลับ
Range
— ช่วงที่ปรับเปลี่ยนซึ่งมีเซลล์ข้อมูล หรือ null
หากไม่มีการเลือก
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องได้รับสิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ
-
https://www.googleapis.com/auth/spreadsheets.currentonly
-
https://www.googleapis.com/auth/spreadsheets