Class SpreadsheetApp

جدول بياناتتطبيق

الوصول إلى ملفات "جداول بيانات Google" وإنشاؤها هذه الفئة هي الفئة الرئيسية لخدمة جداول البيانات.

الخصائص

الموقعالنوعالوصف
AutoFillSeriesAutoFillSeriesتعداد لأنواع السلاسل المستخدَمة لاحتساب القيم التي يتم ملؤها تلقائيًا.
BandingThemeBandingThemeتعداد لمواضيع التجميع المحتملة
BooleanCriteriaBooleanCriteriaتعداد لمعايير التنسيق الشرطي المنطقية.
BorderStyleBorderStyleتعداد للأنماط الصالحة لضبط الحدود على Range
ColorTypeColorTypeتعداد لأنواع الألوان المحتملة.
CopyPasteTypeCopyPasteTypeتعداد لأنواع اللصق المحتملة.
DataExecutionErrorCodeDataExecutionErrorCodeتعداد لرموز الخطأ المحتملة في تنفيذ البيانات.
DataExecutionStateDataExecutionStateتعداد لحالات تنفيذ البيانات المحتملة.
DataSourceParameterTypeDataSourceParameterTypeتعداد لأنواع مَعلمات مصدر البيانات المحتملة.
DataSourceRefreshScopeDataSourceRefreshScopeتعداد لنطاقات إعادة تحميل مصادر البيانات المحتملة.
DataSourceTypeDataSourceTypeتعداد لأنواع مصادر البيانات المحتملة.
DataValidationCriteriaDataValidationCriteriaتعداد يمثّل معايير التحقّق من صحة البيانات التي يمكن ضبطها على نطاق.
DateTimeGroupingRuleTypeDateTimeGroupingRuleTypeتعداد لقاعدة تجميع التاريخ والوقت.
DeveloperMetadataLocationTypeDeveloperMetadataLocationTypeتعداد لأنواع المواقع الجغرافية المحتملة للبيانات الوصفية للمطوّرين.
DeveloperMetadataVisibilityDeveloperMetadataVisibilityتعداد لمستويات ظهور البيانات الوصفية للمطوّر المحتملة.
DimensionDimensionتعداد لسمات جدول البيانات المحتملة.
DirectionDirectionتعداد للاتجاهات المحتملة التي يمكن التنقل فيها داخل جدول بيانات باستخدام مفاتيح الأسهم
FrequencyTypeFrequencyTypeتعداد لأنواع التكرار المحتملة.
GroupControlTogglePositionGroupControlTogglePositionتعداد للمواضع التي يمكن أن يكون فيها زر التبديل الخاص بعنصر التحكّم في المجموعة.
InterpolationTypeInterpolationTypeتعداد لأنواع استيفاء التدرّج اللوني للتنسيق الشرطي
PivotTableSummarizeFunctionPivotTableSummarizeFunctionتعداد للدوال التي يمكن استخدامها لتلخيص القيم في جدول محوري.
PivotValueDisplayTypePivotValueDisplayTypeتعداد لطرق عرض قيمة محورية.
ProtectionTypeProtectionTypeتعداد يمثّل أجزاء جدول البيانات التي يمكن حمايتها من التعديلات.
RecalculationIntervalRecalculationIntervalتعداد للفواصل الزمنية المحتملة التي يمكن استخدامها في إعادة احتساب جدول البيانات.
RelativeDateRelativeDateتعداد لخيارات التاريخ النسبي من أجل احتساب قيمة سيتم استخدامها في BooleanCriteria المستندة إلى التاريخ.
SheetTypeSheetTypeتعداد لأنواع الأوراق المختلفة التي يمكن أن تكون موجودة في جدول بيانات.
SortOrderSortOrderتعداد لترتيب التصنيف
TextDirectionTextDirectionتعداد لاتجاهات النص الصالحة.
TextToColumnsDelimiterTextToColumnsDelimiterتعداد للمحدّدات المُعدّة مسبقًا لتقسيم النص إلى أعمدة.
ThemeColorTypeThemeColorTypeتعداد لأنواع ألوان المظهر المحتملة.
ValueTypeValueTypeتعداد لأنواع القيم التي تعرضها الدالتان Range.getValue() وRange.getValues() من فئة Range في خدمة "جداول بيانات Google". تُضاف قيم التعداد المدرَجة أدناه إلى Number أو Boolean أو Date أو String.
WrapStrategyWrapStrategyتعداد للاستراتيجيات المستخدَمة لتضمين الخلايا

الطُرق

الطريقةنوع القيمة التي يتم إرجاعهاوصف قصير
create(name)Spreadsheetينشئ هذا الإجراء جدول بيانات جديدًا بالاسم المحدّد.
create(name, rows, columns)Spreadsheetتنشئ هذه الدالة جدول بيانات جديدًا بالاسم المحدّد وعدد الصفوف والأعمدة المحدّد.
enableAllDataSourcesExecution()voidتفعيل تنفيذ البيانات لجميع أنواع مصادر البيانات
enableBigQueryExecution()voidتفعيل تنفيذ البيانات لمصادر بيانات BigQuery
enableLookerExecution()voidيتم تفعيل عمليات تنفيذ البيانات لمصادر بيانات Looker.
flush()voidتطبيق جميع تغييرات "جداول بيانات Google" المعلّقة
getActive()Spreadsheetتعرض هذه الدالة جدول البيانات النشط حاليًا، أو null إذا لم يكن هناك جدول بيانات نشط.
getActiveRange()Rangeتعرض هذه الدالة النطاق المحدّد في الورقة النشطة، أو null إذا لم يكن هناك نطاق نشط.
getActiveRangeList()RangeList|nullتعرض هذه الدالة قائمة بالنطاقات النشطة في الورقة النشطة أو null إذا لم يتم اختيار أي نطاقات.
getActiveSheet()Sheetتعرض هذه الدالة الورقة النشطة في جدول بيانات.
getActiveSpreadsheet()Spreadsheetتعرض هذه الدالة جدول البيانات النشط حاليًا، أو null إذا لم يكن هناك جدول بيانات نشط.
getCurrentCell()Range|nullتعرض هذه الدالة الخلية الحالية (المحدّدة) التي تم اختيارها في أحد النطاقات النشطة في الورقة النشطة أو null إذا لم تكن هناك خلية حالية.
getSelection()Selectionتعرض هذه الدالة Selection الحالي في جدول البيانات.
getUi()Uiتعرض هذه الدالة مثيلاً لبيئة واجهة المستخدم الخاصة بجدول البيانات، ما يتيح للبرنامج النصي إضافة ميزات مثل القوائم ومربّعات الحوار والأشرطة الجانبية.
newCellImage()CellImageBuilderتنشئ هذه الطريقة أداة إنشاء لـ CellImage.
newColor()ColorBuilderتنشئ هذه الطريقة أداة إنشاء لـ Color.
newConditionalFormatRule()ConditionalFormatRuleBuilderتنشئ هذه الدالة أداة إنشاء لقاعدة تنسيق شرطي.
newDataSourceSpec()DataSourceSpecBuilderتنشئ هذه الطريقة أداة إنشاء لـ DataSourceSpec.
newDataValidation()DataValidationBuilderتنشئ هذه الدالة أداة إنشاء لقاعدة التحقّق من صحة البيانات.
newFilterCriteria()FilterCriteriaBuilderتنشئ هذه الطريقة أداة إنشاء لـ FilterCriteria.
newRichTextValue()RichTextValueBuilderتُنشئ هذه الدالة أداة إنشاء لقيمة نص منسّق.
newTextStyle()TextStyleBuilderتُنشئ هذه السمة أداة إنشاء لنمط نص.
open(file)Spreadsheetيفتح جدول البيانات الذي يتوافق مع عنصر الملف المحدّد.
openById(id)Spreadsheetيفتح جدول البيانات الذي يحمل المعرّف المحدّد.
openByUrl(url)Spreadsheetيفتح جدول البيانات الذي يتضمّن عنوان URL المحدّد.
setActiveRange(range)Rangeيضبط النطاق المحدّد على active range، مع اعتبار الخلية العلوية اليمنى في النطاق هي current cell.
setActiveRangeList(rangeList)RangeListتضبط هذه السمة قائمة النطاقات المحدّدة كـ active ranges.
setActiveSheet(sheet)Sheetتضبط هذه الدالة الورقة النشطة في جدول بيانات.
setActiveSheet(sheet, restoreSelection)Sheetتضبط هذه الدالة الورقة النشطة في جدول بيانات، مع إمكانية استعادة آخر تحديد تم إجراؤه في تلك الورقة.
setActiveSpreadsheet(newActiveSpreadsheet)voidتضبط هذه السمة جدول البيانات النشط.
setCurrentCell(cell)Rangeيضبط الخلية المحدّدة على current cell.

مستندات تفصيلية

create(name)

ينشئ هذا الإجراء جدول بيانات جديدًا بالاسم المحدّد.

// The code below creates a new spreadsheet "Finances" and logs the URL for it
const ssNew = SpreadsheetApp.create('Finances');
Logger.log(ssNew.getUrl());

المعلمات

الاسمالنوعالوصف
nameStringتمثّل هذه السمة اسم جدول البيانات.

الإرجاع

Spreadsheet: جدول بيانات جديد

التفويض

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

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

create(name, rows, columns)

تنشئ هذه الدالة جدول بيانات جديدًا بالاسم المحدّد وعدد الصفوف والأعمدة المحدّد.

// The code below creates a new spreadsheet "Finances" with 50 rows and 5
// columns and logs the URL for it
const ssNew = SpreadsheetApp.create('Finances', 50, 5);
Logger.log(ssNew.getUrl());

المعلمات

الاسمالنوعالوصف
nameStringتمثّل هذه السمة اسم جدول البيانات.
rowsIntegerتمثّل هذه السمة عدد الصفوف في جدول البيانات.
columnsIntegerعدد الأعمدة في جدول البيانات

الإرجاع

Spreadsheet: جدول بيانات جديد

التفويض

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

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

enableAllDataSourcesExecution()

تفعيل تنفيذ البيانات لجميع أنواع مصادر البيانات

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

// Turns data execution on for all types of data sources.
SpreadsheetApp.enableAllDataSourcesExecution();

// Opens the spreadsheet file by its ID. If you created your script from a
// Google Sheets file, use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets the first data source sheet in the spreadsheet and refreshes the data.
ss.getDataSourceSheets()[0].refreshData();

التفويض

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

  • https://www.googleapis.com/auth/bigquery.readonly

enableBigQueryExecution()

تفعيل تنفيذ البيانات لمصادر بيانات BigQuery

يؤدي تنفيذ البيانات لمصدر بيانات BigQuery إلى حدوث خطأ إذا لم يتم تفعيلها.

// Turns data execution on for BigQuery data sources.
SpreadsheetApp.enableBigQueryExecution();

// Opens the spreadsheet file by its ID. If you created your script from a
// Google Sheets file, use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets the first data source sheet in the spreadsheet and refreshes the
// BigQuery data.
ss.getDataSourceSheets()[0].refreshData();

التفويض

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

  • https://www.googleapis.com/auth/bigquery.readonly

enableLookerExecution()

يتم تفعيل عمليات تنفيذ البيانات لمصادر بيانات Looker.

يؤدي تنفيذ البيانات لمصدر بيانات Looker إلى حدوث خطأ إذا لم يتم تفعيله.

// Turns data execution on for Looker data sources.
SpreadsheetApp.enableLookerExecution();

// Opens the spreadsheet file by its ID. If you created your script from a
// Google Sheets file, use SpreadsheetApp.getActiveSpreadsheet().
// TODO(developer): Replace the ID with your own.
const ss = SpreadsheetApp.openById('abc123456');

// Gets the first data source sheet in the spreadsheet and refreshes the
// associated Looker data.
ss.getDataSourceSheets()[0].refreshData();

flush()

تطبيق جميع تغييرات "جداول بيانات Google" المعلّقة

يتم أحيانًا تجميع عمليات جداول البيانات معًا لتحسين الأداء، مثلاً عند إجراء عدة طلبات إلى Range.getValue(). ومع ذلك، قد تحتاج أحيانًا إلى التأكّد من إجراء جميع التغييرات المعلقة على الفور، مثلاً لعرض البيانات للمستخدمين أثناء تنفيذ البرنامج النصي.

// The code below changes the background color of cells A1 and B1 twenty times.
// You should be able to see the updates live in the spreadsheet. If flush() is
// not called, the updates may be applied live or may all be applied at once
// when the script completes.
function colors() {
  const sheet = SpreadsheetApp.getActiveSheet();
  for (let i = 0; i < 20; i++) {
    if (i % 2 === 0) {
      sheet.getRange('A1').setBackground('green');
      sheet.getRange('B1').setBackground('red');
    } else {
      sheet.getRange('A1').setBackground('red');
      sheet.getRange('B1').setBackground('green');
    }
    SpreadsheetApp.flush();
  }
}

getActive()

تعرض هذه الدالة جدول البيانات النشط حاليًا، أو null إذا لم يكن هناك جدول بيانات نشط.

يمكن للدوال التي يتم تنفيذها في سياق جدول بيانات الحصول على مرجع إلى كائن Spreadsheet المقابل من خلال استدعاء هذه الدالة.

// The code below logs the URL for the active spreadsheet.
Logger.log(SpreadsheetApp.getActive().getUrl());

الإرجاع

Spreadsheet: عنصر Spreadsheet النشط

التفويض

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

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

getActiveRange()

تعرض هذه الدالة النطاق المحدّد في الورقة النشطة، أو null إذا لم يكن هناك نطاق نشط. إذا تم تحديد نطاقات متعددة، لن تعرض هذه الطريقة سوى النطاق الأخير الذي تم تحديده.

يشير هذا المصطلح بشكل عام إلى النطاق الذي اختاره المستخدم في ورقة البيانات النشطة، ولكن في دالة مخصّصة، يشير إلى الخلية التي تتم إعادة حسابها بشكل نشط.

// The code below logs the background color for the active range.
const colorObject = SpreadsheetApp.getActiveRange().getBackgroundObject();
// Assume the color has ColorType.RGB.
Logger.log(colorObject.asRgbColor().asHexString());

الإرجاع

Range: النطاق النشط

التفويض

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

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

getActiveRangeList()

تعرض هذه الدالة قائمة بالنطاقات النشطة في الورقة النشطة أو null إذا لم يتم اختيار أي نطاقات. يتم وضع النطاق النشط الذي يحتوي على الخلية المحدّدة حاليًا في آخر القائمة.

إذا تم اختيار نطاق واحد، سيتصرف هذا النطاق كطلب getActiveRange().

// Returns the list of active ranges.
const rangeList = SpreadsheetApp.getActiveRangeList();

الإرجاع

RangeList|null: قائمة النطاقات النشطة

التفويض

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

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

getActiveSheet()

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

ورقة العمل النشطة في جدول البيانات هي ورقة العمل التي يتم عرضها في واجهة مستخدم جدول البيانات.

// The code below logs the name of the active sheet.
Logger.log(SpreadsheetApp.getActiveSheet().getName());

الإرجاع

Sheet: عنصر Sheet النشط

التفويض

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

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

getActiveSpreadsheet()

تعرض هذه الدالة جدول البيانات النشط حاليًا، أو null إذا لم يكن هناك جدول بيانات نشط.

يمكن للدوال التي يتم تنفيذها في سياق جدول بيانات الحصول على مرجع إلى كائن Spreadsheet المقابل من خلال استدعاء هذه الدالة.

// The code below logs the URL for the active spreadsheet.
Logger.log(SpreadsheetApp.getActiveSpreadsheet().getUrl());

الإرجاع

Spreadsheet: عنصر Spreadsheet النشط

التفويض

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

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

getCurrentCell()

تعرض هذه الدالة الخلية الحالية (المحدّدة) التي تم اختيارها في أحد النطاقات النشطة في الورقة النشطة أو null إذا لم تكن هناك خلية حالية.

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

الإرجاع

Range|null: الخلية الحالية

التفويض

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

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

getSelection()

تعرض هذه الدالة Selection الحالي في جدول البيانات.

const selection = SpreadsheetApp.getSelection();
const currentCell = selection.getCurrentCell();

الإرجاع

Selection: الاختيار الحالي

التفويض

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

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

getUi()

تعرض هذه الدالة مثيلاً لبيئة واجهة المستخدم الخاصة بجدول البيانات، ما يتيح للبرنامج النصي إضافة ميزات مثل القوائم ومربّعات الحوار والأشرطة الجانبية. لا يمكن للنص البرمجي التفاعل مع واجهة المستخدم إلا في النسخة الحالية من جدول البيانات المفتوح، وفقط إذا كان النص البرمجي مرتبطًا بجدول البيانات. لمزيد من المعلومات، اطّلِع على أدلة القوائم ومربّعات الحوار والأشرطة الجانبية.

// Add a custom menu to the active spreadsheet, including a separator and a
// sub-menu.
function onOpen(e) {
  SpreadsheetApp.getUi()
      .createMenu('My Menu')
      .addItem('My menu item', 'myFunction')
      .addSeparator()
      .addSubMenu(
          SpreadsheetApp.getUi()
              .createMenu('My sub-menu')
              .addItem('One sub-menu item', 'mySecondFunction')
              .addItem('Another sub-menu item', 'myThirdFunction'),
          )
      .addToUi();
}

الإرجاع

Ui: مثيل لبيئة واجهة المستخدم في جدول البيانات هذا


newCellImage()

تنشئ هذه الطريقة أداة إنشاء لـ CellImage.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet()
// instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl(
    'https://docs.google.com/spreadsheets/d/abc123456/edit',
);

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Gets cell A1 on Sheet1.
const range = sheet.getRange('A1');

// Builds an image using a source URL.
const cellImage =
    SpreadsheetApp.newCellImage()
        .setSourceUrl(
            'https://www.gstatic.com/images/branding/productlogos/apps_script/v10/web-64dp/logo_apps_script_color_1x_web_64dp.png',
            )
        .build();

// Sets the image in cell A1.
range.setValue(cellImage);

الإرجاع

CellImageBuilder: أداة الإنشاء الجديدة


newColor()

تنشئ هذه الطريقة أداة إنشاء لـ Color.

const rgbColor = SpreadsheetApp.newColor().setRgbColor('#FF0000').build();

الإرجاع

ColorBuilder: أداة الإنشاء الجديدة


newConditionalFormatRule()

تنشئ هذه الدالة أداة إنشاء لقاعدة تنسيق شرطي.

// Adds a conditional format rule to a sheet that causes all cells in range
// A1:B3 to turn red if they contain a number between 1 and 10.
const sheet = SpreadsheetApp.getActive().getActiveSheet();
const range = sheet.getRange('A1:B3');
const rule = SpreadsheetApp.newConditionalFormatRule()
                 .whenNumberBetween(1, 10)
                 .setBackground('#FF0000')
                 .setRanges([range])
                 .build();
const rules = sheet.getConditionalFormatRules();
rules.push(rule);
sheet.setConditionalFormatRules(rules);

الإرجاع

ConditionalFormatRuleBuilder: أداة الإنشاء الجديدة


newDataSourceSpec()

تنشئ هذه الطريقة أداة إنشاء لـ DataSourceSpec.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet()
// instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl(
    'https://docs.google.com/spreadsheets/d/abc123456/edit',
);

// Enables BigQuery.
SpreadsheetApp.enableBigQueryExecution();

// Builds a data source specification.
// TODO (developer): Update the project ID to your own Google Cloud project ID.
const dataSourceSpec = SpreadsheetApp.newDataSourceSpec()
                           .asBigQuery()
                           .setProjectId('project-id-1')
                           .setTableProjectId('bigquery-public-data')
                           .setDatasetId('ncaa_basketball')
                           .setTableId('mbb_historical_teams_games')
                           .build();

// Adds the data source and its data to the spreadsheet.
ss.insertDataSourceSheet(dataSourceSpec);

الإرجاع

DataSourceSpecBuilder: أداة الإنشاء الجديدة


newDataValidation()

تنشئ هذه الدالة أداة إنشاء لقاعدة التحقّق من صحة البيانات.

const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireNumberBetween(1, 100)
                 .setAllowInvalid(false)
                 .setHelpText('Number must be between 1 and 100.')
                 .build();
cell.setDataValidation(rule);

الإرجاع

DataValidationBuilder: أداة الإنشاء الجديدة


newFilterCriteria()

تنشئ هذه الطريقة أداة إنشاء لـ FilterCriteria.

// Opens the spreadsheet file by its URL. If you created your script from within
// a Google Sheets file, you can use SpreadsheetApp.getActiveSpreadsheet()
// instead.
// TODO(developer): Replace the URL with your own.
const ss = SpreadsheetApp.openByUrl(
    'https://docs.google.com/spreadsheets/d/abc123456/edit',
);

// Gets Sheet1 by its name.
const sheet = ss.getSheetByName('Sheet1');

// Sets the range to A1:D20.
const range = sheet.getRange('A1:D20');

// Creates a filter and applies it to the specified range.
range.createFilter();

// Gets the current filter for the range and creates filter criteria that only
// shows cells that aren't empty.
const filter = range.getFilter();
const criteria = SpreadsheetApp.newFilterCriteria().whenCellNotEmpty().build();

// Sets the criteria to  column C.
filter.setColumnFilterCriteria(3, criteria);

الإرجاع

FilterCriteriaBuilder — أداة الإنشاء الجديدة


newRichTextValue()

تُنشئ هذه الدالة أداة إنشاء لقيمة نص منسّق.

// Sets cell A1 to have the text "Hello world", with "Hello" bolded.
const cell = SpreadsheetApp.getActive().getRange('A1');
const bold = SpreadsheetApp.newTextStyle().setBold(true).build();
const value = SpreadsheetApp.newRichTextValue()
                  .setText('Hello world')
                  .setTextStyle(0, 5, bold)
                  .build();
cell.setRichTextValue(value);

الإرجاع

RichTextValueBuilder: أداة الإنشاء الجديدة


newTextStyle()

تُنشئ هذه السمة أداة إنشاء لنمط نص.

// Sets range A1:B3 to have red, size 22, bolded, underlined text.
const range = SpreadsheetApp.getActive().getRange('A1:B3');
const style = SpreadsheetApp.newTextStyle()
                  .setForegroundColor('red')
                  .setFontSize(22)
                  .setBold(true)
                  .setUnderline(true)
                  .build();
range.setTextStyle(style);

الإرجاع

TextStyleBuilder: أداة الإنشاء الجديدة


open(file)

يفتح جدول البيانات الذي يتوافق مع عنصر الملف المحدّد.

// Get any starred spreadsheets from Google Drive, then open the spreadsheets
// and log the name of the first sheet within each spreadsheet.
const files = DriveApp.searchFiles(
    `starred = true and mimeType = "${MimeType.GOOGLE_SHEETS}"`,
);
while (files.hasNext()) {
  const spreadsheet = SpreadsheetApp.open(files.next());
  const sheet = spreadsheet.getSheets()[0];
  Logger.log(sheet.getName());
}

المعلمات

الاسمالنوعالوصف
fileFileالملف المطلوب فتحه

الإرجاع

Spreadsheet: جدول البيانات

التفويض

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

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

openById(id)

يفتح جدول البيانات الذي يحمل المعرّف المحدّد. يمكن استخراج رقم تعريف جدول البيانات من عنوان URL الخاص به. على سبيل المثال، معرّف جدول البيانات في عنوان URL https://docs.google.com/spreadsheets/d/abc1234567/edit#gid=0 هو "abc1234567".

// The code below opens a spreadsheet using its ID and logs the name for it.
// Note that the spreadsheet is NOT physically opened on the client side.
// It is opened on the server only (for modification by the script).
const ss = SpreadsheetApp.openById('abc1234567');
Logger.log(ss.getName());

المعلمات

الاسمالنوعالوصف
idStringالمعرّف الفريد لجدول البيانات

الإرجاع

Spreadsheet: كائن جدول البيانات الذي يحمل المعرّف المحدّد

التفويض

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

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

openByUrl(url)

يفتح جدول البيانات الذي يتضمّن عنوان URL المحدّد. يتم عرض خطأ في البرمجة النصية إذا كان عنوان URL غير متوفّر أو إذا لم يكن لدى المستخدم إذن بالوصول إليه.

// Opens a spreadsheet by its URL and logs its name.
// Note that the spreadsheet doesn't physically open on the client side.
// It opens on the server only (for modification by the script).
const ss = SpreadsheetApp.openByUrl(
    'https://docs.google.com/spreadsheets/d/abc1234567/edit',
);
console.log(ss.getName());

المعلمات

الاسمالنوعالوصف
urlStringتمثّل هذه السمة عنوان URL لجدول البيانات.

الإرجاع

Spreadsheet: عنصر جدول البيانات الذي يحمل عنوان URL المحدّد

التفويض

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

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

setActiveRange(range)

يضبط النطاق المحدّد على active range، مع اعتبار الخلية العلوية اليمنى في النطاق هي current cell.

تعرض واجهة مستخدم جدول البيانات الورقة التي تحتوي على النطاق المحدّد وتختار الخلايا المحدّدة في النطاق المحدّد.

// The code below sets range C1:D4 in the first sheet as the active range.
const range =
    SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('C1:D4');
SpreadsheetApp.setActiveRange(range);

const selection = SpreadsheetApp.getSelection();
// Current cell: C1
const currentCell = selection.getCurrentCell();
// Active Range: C1:D4
const activeRange = selection.getActiveRange();

المعلمات

الاسمالنوعالوصف
rangeRangeالنطاق المطلوب جعله النطاق النشط

الإرجاع

Range: النطاق النشط الجديد


setActiveRangeList(rangeList)

تضبط هذه السمة قائمة النطاقات المحدّدة كـ active ranges. يتم ضبط النطاق الأخير في القائمة على active range.

// The code below sets ranges [D4, B2:C4] in the active sheet as the active
// ranges.
const rangeList = SpreadsheetApp.getActiveSheet().getRanges(['D4', 'B2:C4']);
SpreadsheetApp.setActiveRangeList(rangeList);

const selection = SpreadsheetApp.getSelection();
// Current cell: B2
const currentCell = selection.getCurrentCell();
// Active range: B2:C4
const activeRange = selection.getActiveRange();
// Active range list: [D4, B2:C4]
const activeRangeList = selection.getActiveRangeList();

المعلمات

الاسمالنوعالوصف
rangeListRangeListقائمة النطاقات التي سيتم اختيارها

الإرجاع

RangeList: قائمة النطاقات المحدّدة حديثًا

التفويض

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

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

setActiveSheet(sheet)

تضبط هذه الدالة الورقة النشطة في جدول بيانات. تعرض واجهة مستخدم &quot;جداول بيانات Google&quot; ورقة البيانات المحدّدة ما لم تكن ورقة البيانات تابعة لجدول بيانات مختلف.

// The code below makes the 2nd sheet active in the active spreadsheet.
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[1]);

المعلمات

الاسمالنوعالوصف
sheetSheetورقة البيانات النشطة الجديدة

الإرجاع

Sheet: ورقة البيانات التي تم ضبطها لتصبح ورقة البيانات النشطة الجديدة


setActiveSheet(sheet, restoreSelection)

تضبط هذه الدالة الورقة النشطة في جدول بيانات، مع إمكانية استعادة آخر تحديد تم إجراؤه في تلك الورقة. تعرض واجهة مستخدم &quot;جداول بيانات Google&quot; ورقة البيانات المحدّدة ما لم تكن ورقة البيانات تنتمي إلى جدول بيانات مختلف.

const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const firstSheet = spreadsheet.getSheets()[0];
const secondSheet = spreadsheet.getSheets()[1];
// Set the first sheet as the active sheet and select the range D4:F4.
spreadsheet.setActiveSheet(firstSheet).getRange('D4:F4').activate();

// Switch to the second sheet to do some work.
spreadsheet.setActiveSheet(secondSheet);
// Switch back to first sheet, and restore its selection.
spreadsheet.setActiveSheet(firstSheet, true);

// The selection of first sheet is restored, and it logs D4:F4
const range = spreadsheet.getActiveSheet().getSelection().getActiveRange();
Logger.log(range.getA1Notation());

المعلمات

الاسمالنوعالوصف
sheetSheetورقة البيانات النشطة الجديدة
restoreSelectionBooleanإذا كانت القيمة true، سيتم تحديد آخر اختيار للورقة النشطة الجديدة مرة أخرى عندما تصبح الورقة الجديدة نشطة. أما إذا كانت القيمة false، فستصبح الورقة الجديدة نشطة بدون تغيير التحديد الحالي.

الإرجاع

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

التفويض

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

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

setActiveSpreadsheet(newActiveSpreadsheet)

تضبط هذه السمة جدول البيانات النشط.

// The code below makes the spreadsheet with key "1234567890" the active
// spreadsheet
const ss = SpreadsheetApp.openById('1234567890');
SpreadsheetApp.setActiveSpreadsheet(ss);

المعلمات

الاسمالنوعالوصف
newActiveSpreadsheetSpreadsheetجدول البيانات الذي سيتم ضبطه كجدول البيانات النشط.

setCurrentCell(cell)

يضبط الخلية المحدّدة على current cell.

إذا كانت الخلية المحدّدة متوفّرة في نطاق سبق اختياره، يصبح هذا النطاق هو النطاق النشط مع الخلية باعتبارها الخلية الحالية.

إذا لم تكن الخلية المحدّدة متوفّرة في أي نطاق محدّد، تتم إزالة التحديد الحالي وتصبح الخلية هي الخلية الحالية والنطاق النشط.

ملاحظة:يجب أن يتألف Range المحدّد من خلية واحدة، وإلا سيؤدي هذا الإجراء إلى حدوث خطأ.

// The code below sets the cell B5 in the first sheet as the current cell.
const cell =
    SpreadsheetApp.getActiveSpreadsheet().getSheets()[0].getRange('B5');
SpreadsheetApp.setCurrentCell(cell);

const selection = SpreadsheetApp.getSelection();
// Current cell: B5
const currentCell = selection.getCurrentCell();

المعلمات

الاسمالنوعالوصف
cellRangeالخلية المطلوب ضبطها كخلية حالية

الإرجاع

Range: الخلية الحالية التي تم ضبطها حديثًا

التفويض

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

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