Class Selection

انتخاب

به انتخاب فعال فعلی در برگه فعال دسترسی پیدا کنید. یک انتخاب، مجموعه‌ای از سلول‌هایی است که کاربر در برگه برجسته کرده است، که می‌تواند محدوده‌های غیرمجاور باشد. یکی از سلول‌ها در انتخاب، سلول فعلی است که تمرکز فعلی کاربر روی آن است. سلول فعلی در رابط کاربری Google Sheets با حاشیه تیره‌تر برجسته شده است.

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()}`);

روش‌ها

روش نوع بازگشتی شرح مختصر
get Active Range() Range |null محدوده انتخاب شده در برگه فعال را برمی‌گرداند، یا اگر محدوده فعالی وجود نداشته باشد null برمی‌گرداند.
get Active Range List() Range List |null لیست محدوده‌های فعال در برگه فعال را برمی‌گرداند یا اگر هیچ محدوده فعالی وجود نداشته باشد null برمی‌گرداند.
get Active Sheet() Sheet برگه فعال را در صفحه گسترده برمی‌گرداند.
get Current Cell() Range |null سلول فعلی (هایلایت شده) که در یکی از محدوده‌های فعال انتخاب شده است را برمی‌گرداند و در صورت عدم وجود سلول فعلی، null برمی‌گرداند.
get Next Data Range(direction) Range |null با شروع از current cell و active range و حرکت در جهت داده شده، محدوده تنظیم‌شده‌ای را برمی‌گرداند که در آن لبه مناسب محدوده برای پوشش next data cell جابجا شده است، در حالی که هنوز سلول فعلی را پوشش می‌دهد.

مستندات دقیق

get Active Range()

محدوده انتخاب شده در برگه فعال را برمی‌گرداند، یا اگر محدوده فعالی وجود نداشته باشد null برمی‌گرداند. اگر چندین محدوده انتخاب شده باشند، این روش فقط آخرین محدوده انتخاب شده را برمی‌گرداند.

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

بازگشت

Range |null — محدوده فعال.

مجوز

اسکریپت‌هایی که از این روش استفاده می‌کنند، نیاز به مجوز با یک یا چند مورد از حوزه‌های زیر دارند:

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

get Active Range List()

لیست محدوده‌های فعال در برگه فعال را برمی‌گرداند یا اگر هیچ محدوده فعالی وجود نداشته باشد null برمی‌گرداند.

اگر یک محدوده انتخاب شده باشد، این تابع مانند فراخوانی تابع get Active Range() عمل می‌کند.

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

بازگشت

Range List |null — فهرست محدوده‌های فعال.

مجوز

اسکریپت‌هایی که از این روش استفاده می‌کنند، نیاز به مجوز با یک یا چند مورد از حوزه‌های زیر دارند:

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

get Active Sheet()

برگه فعال را در صفحه گسترده برمی‌گرداند.

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

بازگشت

Sheet — برگه فعال در صفحه گسترده.

مجوز

اسکریپت‌هایی که از این روش استفاده می‌کنند، نیاز به مجوز با یک یا چند مورد از حوزه‌های زیر دارند:

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

get Current Cell()

سلول فعلی (هایلایت شده) که در یکی از محدوده‌های فعال انتخاب شده است را برمی‌گرداند و در صورت عدم وجود سلول فعلی، null برمی‌گرداند.

const selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
// Returns the current highlighted cell in the one of the active ranges.
const currentCell = selection.getCurrentCell();

بازگشت

Range |null — سلول فعلی.

مجوز

اسکریپت‌هایی که از این روش استفاده می‌کنند، نیاز به مجوز با یک یا چند مورد از حوزه‌های زیر دارند:

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

get Next Data Range(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(),
);

پارامترها

نام نوع توضیحات
direction Direction جهتی که در آن می‌توان سلول لبه ناحیه داده بعدی را پیدا کرد.

بازگشت

Range |null — محدوده تنظیم‌شده‌ای که شامل سلول داده می‌شود، یا اگر انتخابی وجود نداشته باشد، null .

مجوز

اسکریپت‌هایی که از این روش استفاده می‌کنند، نیاز به مجوز با یک یا چند مورد از حوزه‌های زیر دارند:

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