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การแจกแจงฟังก์ชันที่อาจใช้เพื่อสรุปค่าในตาราง Pivot
PivotValueDisplayTypePivotValueDisplayTypeการแจกแจงวิธีต่างๆ ที่อาจแสดงค่า Pivot
ProtectionTypeProtectionTypeการแจกแจงที่แสดงถึงส่วนต่างๆ ของสเปรดชีตที่สามารถป้องกันไม่ให้แก้ไขได้
RecalculationIntervalRecalculationIntervalการแจกแจงช่วงเวลาที่เป็นไปได้ซึ่งสามารถใช้ในการคํานวณสเปรดชีตอีกครั้ง
RelativeDateRelativeDateการแจกแจงตัวเลือกวันที่แบบสัมพัทธ์สําหรับคํานวณค่าที่จะใช้ใน BooleanCriteria ตามวันที่
SheetTypeSheetTypeการแจกแจงชีตประเภทต่างๆ ที่สเปรดชีตหนึ่งๆ มีได้
SortOrderSortOrderการแจกแจงลำดับการจัดเรียง
TextDirectionTextDirectionการแจกแจงคำสั่งแบบข้อความที่ถูกต้อง
TextToColumnsDelimiterTextToColumnsDelimiterการแจกแจงตัวคั่นที่กำหนดไว้ล่วงหน้าสำหรับการแยกข้อความออกเป็นคอลัมน์
ThemeColorTypeThemeColorTypeการแจกแจงประเภทสีธีมที่เป็นไปได้
ValueTypeValueTypeการแจกแจงประเภทค่าที่ Range.getValue() และ Range.getValues() แสดงผลจากคลาส Range ของบริการสเปรดชีต ค่าการแจกแจงที่ระบุไว้ด้านล่างนี้นอกเหนือจาก Number, Boolean, Date หรือ String
WrapStrategyWrapStrategyการแจกแจงกลยุทธ์ที่ใช้สำหรับการตัดขึ้นบรรทัดใหม่ของเซลล์

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
create(name)Spreadsheetสร้างสเปรดชีตใหม่ที่มีชื่อที่ระบุ
create(name, rows, columns)Spreadsheetสร้างสเปรดชีตใหม่ที่มีชื่อที่ระบุและจำนวนแถวและคอลัมน์ที่ระบุ
enableAllDataSourcesExecution()voidเปิดการเรียกใช้ข้อมูลสําหรับแหล่งข้อมูลทุกประเภท
enableBigQueryExecution()voidเปิดใช้การเรียกใช้ข้อมูลสําหรับแหล่งข้อมูล BigQuery
enableLookerExecution()voidเปิดการเรียกใช้ข้อมูลสําหรับแหล่งข้อมูล Looker
flush()voidใช้การเปลี่ยนแปลงสเปรดชีตที่รอดำเนินการทั้งหมด
getActive()Spreadsheetแสดงสเปรดชีตที่ใช้งานอยู่ในปัจจุบัน หรือ null หากไม่มี
getActiveRange()Rangeแสดงผลช่วงที่คุณเลือกในสเปรดชีตที่ใช้งานอยู่ หรือ null หากไม่มีช่วงทำงานอยู่
getActiveRangeList()RangeListแสดงรายการช่วงทำงานในสเปรดชีตที่ใช้งานอยู่ หรือ null หากไม่มีการเลือกช่วง
getActiveSheet()Sheetรับชีตที่ใช้งานอยู่ในสเปรดชีต
getActiveSpreadsheet()Spreadsheetแสดงสเปรดชีตที่ใช้งานอยู่ในปัจจุบัน หรือ null หากไม่มี
getCurrentCell()Rangeแสดงผลเซลล์ปัจจุบัน (ที่ไฮไลต์) ซึ่งเลือกไว้ในหนึ่งในช่วงที่ใช้งานอยู่ในชีตที่ใช้งานอยู่ หรือ 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 — สเปรดชีตใหม่

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

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

  • 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 — สเปรดชีตใหม่

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

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

  • 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();

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

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

  • 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();

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

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

  • 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()

ใช้การเปลี่ยนแปลงสเปรดชีตที่รอดำเนินการทั้งหมด

บางครั้งระบบจะรวมการดำเนินการในสเปรดชีตเข้าด้วยกันเพื่อปรับปรุงประสิทธิภาพ เช่น เมื่อมีการเรียกใช้ 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 หากไม่มี

ฟังก์ชันที่ทำงานในบริบทของสเปรดชีตจะรับการอ้างอิงไปยังออบเจ็กต์สเปรดชีตที่เกี่ยวข้องได้โดยการเรียกใช้ฟังก์ชันนี้

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

รีเทิร์น

Spreadsheet — ออบเจ็กต์สเปรดชีตที่ใช้งานอยู่

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

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

  • 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 — ช่วงที่มีการใช้งาน

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

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

  • 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 — รายการช่วงที่มีการใช้งาน

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

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

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

getActiveSheet()

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

ชีตที่ใช้งานอยู่ในสเปรดชีตคือชีตที่แสดงอยู่ใน UI ของสเปรดชีต

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

รีเทิร์น

Sheet — ออบเจ็กต์ชีตที่ใช้งานอยู่

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

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

  • 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 — ออบเจ็กต์สเปรดชีตที่ใช้งานอยู่

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

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

  • 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 — เซลล์ปัจจุบัน

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

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

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

getSelection()

แสดงผล Selection ปัจจุบันในสเปรดชีต

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

รีเทิร์น

Selection — รายการที่เลือกอยู่

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

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

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

getUi()

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

// 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 — สเปรดชีต

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

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

  • 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 — ออบเจ็กต์สเปรดชีตที่มีรหัสที่ระบุ

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

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

  • 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());

พารามิเตอร์

ชื่อประเภทคำอธิบาย
urlStringURL ของสเปรดชีต

รีเทิร์น

Spreadsheet — ออบเจ็กต์สเปรดชีตที่มี URL ที่ระบุ

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

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

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

setActiveRange(range)

ตั้งค่าช่วงที่ระบุเป็น active range โดยให้เซลล์ด้านซ้ายบนของช่วงเป็น current cell

UI ของสเปรดชีตจะแสดงชีตที่มีช่วงที่เลือกและเลือกเซลล์ที่กําหนดไว้ในช่วงที่เลือก

// 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 — รายการช่วงใหม่ที่เลือก

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

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

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

setActiveSheet(sheet)

ตั้งค่าชีตที่ใช้งานอยู่ในสเปรดชีต UI ของ Google ชีตจะแสดงชีตที่เลือก เว้นแต่ชีตนั้นจะเป็นสเปรดชีตอื่น

// 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)

ตั้งค่าชีตที่ใช้งานอยู่ในสเปรดชีต โดยมีตัวเลือกในการกู้คืนการเลือกล่าสุดภายในชีตนั้น UI ของ Google ชีตจะแสดงชีตที่เลือก เว้นแต่ชีตนั้นจะเป็นสเปรดชีตอื่น

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 — ชีตใหม่ที่ใช้งานอยู่

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

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

  • 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 ที่ระบุต้องประกอบด้วย 1 เซลล์ มิฉะนั้นเมธอดนี้จะแสดงข้อยกเว้น

// 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 — เซลล์ปัจจุบันที่ตั้งค่าใหม่

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

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

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