如何使用Apps脚本在Google表格中设置单元格的值?


134

我想通过脚本在Google表格中设置文本或数字。

我要在单元格中设置Hello或编号。到目前为止,我发现了以下代码: 9F2

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

但这并没有指定哪个单元格。


4
我是否建议您通过尝试教程来
Serge insas,2012年

Answers:


213

以下代码执行所需的操作

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

2
如何使用数字getRange?c2单元的坐标是什么?
JuanPablo

5
C2是第三列第二行,因此>> getRange(2,3)>> getRange(row,col)
Serge insas 2013年

嗨,您现在如何获取当前单元格的行号和列号?如何为当前单元格设置值?
周星驰

@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

通过附在工作表上的脚本,我的意思是脚本位于该工作表的脚本编辑器中。不附加表示不驻留在该工作表的脚本编辑器中。它可以在任何其他地方。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.