Class Selection

الاختيار

الوصول إلى الاختيار النشط الحالي في الورقة النشطة الاختيار هو مجموعة الخلايا التي ميزها المستخدم في ورقة البيانات، ويمكن أن تكون نطاقات غير متجاورة. الخلية الوحيدة في التحديد هي الخلية الحالية، حيث يكون تركيز المستخدم الحالي. يتم تمييز الخلية الحالية بحدود أغمق في واجهة مستخدم "جداول بيانات 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: النطاق النشط

التفويض

تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:

  • 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: قائمة النطاقات النشطة

التفويض

تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:

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

getActiveSheet()

عرض الورقة النشطة في جدول البيانات

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

الإرجاع

Sheet: الورقة النشطة في جدول البيانات

التفويض

تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:

  • 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: الخلية الحالية

التفويض

تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:

  • 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 في حال عدم تحديد أي خلية.

التفويض

تتطلّب النصوص البرمجية التي تستخدِم هذه الطريقة الحصول على إذن واحد أو أكثر من النطاقات التالية:

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