Làm cách nào để đặt giá trị của một ô trong Google Sheets bằng Apps Script?


134

Tôi muốn đặt văn bản hoặc số trong Google Sheet từ tập lệnh.

Tôi muốn đặt Hellohoặc số 9trong ô F2. Tôi tìm thấy mã này cho đến nay:

SpreadsheetApp.getActiveRange().setValue('hello');

nhưng điều đó không chỉ định ô nào.


4
Tôi có thể đề nghị bạn đọc những điều cơ bản của appcript bằng cách thử các hướng dẫn không?
Serge insas

Câu trả lời:


214

Các mã sau đây làm những gì được yêu cầu

function doTest() {
  SpreadsheetApp.getActiveSheet().getRange('F2').setValue('Hello');
}

2
Làm thế nào getRange với số? tọa độ của tế bào c2 là gì?
JuanPablo

5
C2 là cột thứ ba thứ hai liên tiếp nên >> getRange (2,3) >> getRange (hàng, cột)
Serge insas

Xin chào Bây giờ bạn làm thế nào để có được số hàng và số col hiện tại? Làm cách nào để đặt giá trị cho ô hiện tại?
Charles Chow

@CharlesChow, tôi xin lỗi, nhưng tôi không tham gia phát triển GAS nữa. Vui lòng tham khảo điều này và các mục trợ giúp này . Tôi nghĩ rằng họ có thể giúp đỡ.
megabyte1024

1
@CharlesChow Bạn có thể sử dụng SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetRow () và SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetColumn ()
Augustine C

42

Sử dụng setValuephương thức của Rangelớp để đặt giá trị của ô cụ thể.

function storeValue() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  // ss is now the spreadsheet the script is associated with
  var sheet = ss.getSheets()[0]; // sheets are counted starting from 0
  // sheet is the first worksheet in the spreadsheet
  var cell = sheet.getRange("B2"); 
  cell.setValue(100);
}

Bạn cũng có thể chọn một ô bằng cách sử dụng số hàng và số cột.

var cell = sheet.getRange(2, 3); // here cell is C2

Cũng có thể đặt giá trị của nhiều ô cùng một lúc.

var values = [
  ["2.000", "1,000,000", "$2.99"]
];

var range = sheet.getRange("B2:D2");
range.setValues(values);

16

Giải pháp : SpreadsheetApp.getActiveSheet().getRange('F2').setValue('hello')

Giải trình :

Đặt giá trị trong một ô trong bảng tính có tập lệnh được đính kèm

SpreadsheetApp.getActiveSpreadsheet().getSheetByName(SHEET_NAME).getRange(RANGE).setValue(VALUE);

Đặt giá trị trong một ô trong trang tính hiện đang mở và tập lệnh được đính kèm

SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange(RANGE).setValue(VALUE);

Đặt giá trị trong một ô trong một số bảng tính mà tập lệnh KHÔNG được đính kèm (đã biết tên trang đích)

SpreadsheetApp.openById(SHEET_ID).getSheetByName(SHEET_NAME).getRange(RANGE).setValue(VALUE);

Đặt giá trị trong một ô trong một số bảng tính mà tập lệnh KHÔNG được đính kèm (vị trí trang đích đã biết)

SpreadsheetApp.openById(SHEET_ID).getSheets()[POSITION].getRange(RANGE).setValue(VALUE);

Đây là các hằng số, bạn phải tự xác định chúng

SHEET_ID

SHEET_NAME

POSITION

VALUE

RANGE

Bởi tập lệnh được đính kèm vào một trang tính Tôi có nghĩa là tập lệnh đang nằm trong trình chỉnh sửa tập lệnh của trang tính đó. Không đính kèm có nghĩa là không cư trú trong trình soạn thảo kịch bản của tờ đó. Nó có thể ở bất cứ nơi nào khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.