Class Selection

การเลือก

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

const activeSheet = SpreadsheetApp.getActiveSheet(); const rangeList = activeSheet.getRangeList(['A1:B4', 'D1:E4']); rangeList.activate();  const 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 const ranges = selection.getActiveRangeList().getRanges(); for (let 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 หากไม่มีช่วงทำงานอยู่ หากเลือกหลายช่วง วิธีการนี้จะแสดงเฉพาะช่วงล่าสุดที่เลือก

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection(); const activeRange = selection.getActiveRange();

รีเทิร์น

Range — ช่วงที่มีการใช้งาน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getActiveRangeList()

แสดงรายการช่วงที่มีการใช้งานในสเปรดชีตที่ใช้งานอยู่ หรือ null หากไม่มีช่วงที่มีการใช้งาน

หากเลือกช่วงเดียว การดำเนินการนี้จะทํางานแบบการเรียก getActiveRange()

const sheet = SpreadsheetApp.getActiveSheet(); // Returns the list of active ranges. const activeRangeList = sheet.getActiveRangeList();

รีเทิร์น

RangeList — รายการช่วงที่มีการใช้งาน

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getActiveSheet()

แสดงผลชีตที่ใช้งานอยู่ในสเปรดชีต

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection(); const activeSheet = selection.getActiveSheet();

รีเทิร์น

Sheet — ชีตที่ใช้งานอยู่ในสเปรดชีต

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets

getCurrentCell()

แสดงผลเซลล์ปัจจุบัน (ที่ไฮไลต์) ซึ่งเลือกไว้ในหนึ่งในช่วงที่ใช้งานอยู่ หรือ null หากไม่มีเซลล์ปัจจุบัน

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection(); // Returns the current highlighted cell in the one of the active ranges. const 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. const ss = SpreadsheetApp.getActiveSpreadsheet(); const 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(), );

พารามิเตอร์

ชื่อประเภทคำอธิบาย
directionDirectionทิศทางที่จะค้นหาเซลล์ขอบเขตข้อมูลถัดไป

รีเทิร์น

Range — ช่วงที่ได้รับการปรับซึ่งรวมเซลล์ข้อมูล หรือ null หากไม่มีการเลือก

การให้สิทธิ์

สคริปต์ที่ใช้วิธีการนี้ต้องได้รับอนุญาตด้วยขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • https://www.googleapis.com/auth/spreadsheets.currentonly
  • https://www.googleapis.com/auth/spreadsheets