วิธีตั้งค่าให้กับเซลล์ใน Google ชีตโดยใช้ Apps Script


134

ฉันต้องการตั้งค่าข้อความหรือตัวเลขใน Google ชีตจากสคริปต์

ฉันต้องการชุดHelloหรือจำนวนในเซลล์9 F2ฉันพบรหัสนี้แล้ว:

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

แต่ไม่ได้ระบุว่าเซลล์ใด


4
ฉันขอแนะนำให้คุณอ่านพื้นฐานของ appscript โดยลองใช้แบบฝึกหัดได้ไหม
Serge insas

คำตอบ:


214

รหัสต่อไปนี้ทำสิ่งที่จำเป็น

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

2
getRange กับตัวเลขอย่างไร? พิกัดของเซลล์ c2 คืออะไร?
JuanPablo

5
C2 คือคอลัมน์ที่สามแถวที่สองดังนั้น >> getRange (2,3) >> getRange (row, col)
Serge insas

สวัสดีตอนนี้คุณจะรับแถวและหมายเลขคอลัมน์ของเซลล์ปัจจุบันได้อย่างไร? ฉันจะตั้งค่าเป็นเซลล์ปัจจุบันได้อย่างไร?
Charles Chow

@CharlesChow ฉันขอโทษ แต่ฉันไม่ได้เกี่ยวข้องกับการพัฒนา GAS อีกต่อไป โปรดดูที่นี้และนี้ช่วยเหลือรายการ ฉันคิดว่าพวกเขาสามารถช่วยได้
megabyte1024

1
@CharlesChow คุณสามารถใช้ SpreadsheetApp.getActiveSheet (). getActiveCell (). getRow () และ SpreadsheetApp.getActiveSheet (). getActiveCell (). getColumn ()
Augustine C

42

ใช้setValueวิธีการของRangeคลาสเพื่อกำหนดค่าของเซลล์เฉพาะ

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

คุณยังสามารถเลือกเซลล์โดยใช้หมายเลขแถวและคอลัมน์

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

นอกจากนี้ยังสามารถตั้งค่าของหลายเซลล์พร้อมกันได้

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

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

16

สารละลาย : SpreadsheetApp.getActiveSheet().getRange('F2').setValue('hello')

คำอธิบาย:

การตั้งค่าในเซลล์ในสเปรดชีตที่แนบสคริปต์

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

การตั้งค่าในเซลล์ในแผ่นงานซึ่งเปิดอยู่ในปัจจุบันและสคริปต์ที่แนบมา

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

การตั้งค่าในเซลล์ในสเปรดชีตบางส่วนที่ไม่ได้แนบสคริปต์ (รู้จักชื่อแผ่นงานปลายทาง)

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

การตั้งค่าในเซลล์ในสเปรดชีตบางส่วนที่ไม่ได้แนบสคริปต์ (ทราบตำแหน่งของแผ่นงานปลายทาง)

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

นี่คือค่าคงที่คุณต้องกำหนดเอง

SHEET_ID

SHEET_NAME

POSITION

VALUE

RANGE

ตามสคริปต์ที่แนบมากับแผ่นงานฉันหมายความว่าสคริปต์นั้นอยู่ในโปรแกรมแก้ไขสคริปต์ของแผ่นงานนั้น ไม่แนบหมายความว่าไม่อยู่ในโปรแกรมแก้ไขสคริปต์ของแผ่นงานนั้น สามารถอยู่ในสถานที่อื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.