Bagaimana cara menetapkan nilai sel di Google Sheets menggunakan Script Aplikasi?

134

Saya ingin mengatur teks atau angka di Google Sheet dari skrip.

Saya ingin mengatur Helloatau angka 9dalam sel F2. Saya menemukan kode ini sejauh ini:

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

tapi itu tidak menentukan sel mana.

Antena
sumber
4
bolehkah saya menyarankan Anda membaca dasar-dasar appscript dengan mencoba tutorial?
Serge insas

Jawaban:

214

Kode berikut melakukan apa yang diperlukan

function doTest() {
  SpreadsheetApp.getActiveSheet().getRange('F2').setValue('Hello');
}
megabyte1024
sumber
2
bagaimana getRange dengan angka? apa koordinat sel c2?
JuanPablo
5
C2 adalah kolom kedua baris kedua jadi >> getRange (2,3) >> getRange (baris, col)
Serge insas
Hai Apakah Anda sekarang bagaimana cara mendapatkan baris dan nomor sel saat ini? Bagaimana cara menetapkan nilai ke sel saat ini?
Charles Chow
@CharlesChow, saya minta maaf, tapi saya tidak terlibat dalam pengembangan GAS lagi. Silakan merujuk ini dan item bantuan ini . Saya pikir mereka bisa membantu.
megabyte1024
1
@CharlesChow Anda dapat menggunakan SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetRow () dan SpreadsheetApp.getActiveSheet (). GetActiveCell (). GetColumn () - getColumn ()
Augustine C
42

Gunakan setValuemetode Rangekelas untuk mengatur nilai sel tertentu.

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

Anda juga dapat memilih sel menggunakan nomor baris dan kolom.

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

Anda juga dapat mengatur nilai beberapa sel sekaligus.

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

var range = sheet.getRange("B2:D2");
range.setValues(values);
sudo bangbang
sumber
16

Solusi: SpreadsheetApp.getActiveSheet().getRange('F2').setValue('hello')

Penjelasan:

Menetapkan nilai dalam sel dalam spreadsheet yang dilampirkan skrip

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

Menetapkan nilai dalam sel dalam sheet yang terbuka saat ini dan ke skrip mana yang dilampirkan

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

Menyetel nilai dalam sel dalam beberapa spreadsheet yang skripnya TIDAK dilampirkan (Nama lembar tujuan diketahui)

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

Menyetel nilai dalam sel di beberapa spreadsheet yang skripnya TIDAK dilampirkan (Posisi lembar tujuan diketahui)

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

Ini adalah konstanta, Anda harus mendefinisikannya sendiri

SHEET_ID

SHEET_NAME

POSITION

VALUE

RANGE

Dengan skrip yang dilampirkan pada selembar, maksud saya skrip tersebut berada di editor skrip lembar itu. Tidak terlampir berarti tidak berada di editor skrip lembar itu. Itu bisa di tempat lain.

Umair Mohammad
sumber