如何得到正确的范围设置值的单元格?

我想设置文本或数字在谷歌工作表从脚本。

我想在细胞 F2中设置 Hello或者数字 9。我发现了这个代码:

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

但是没有指定是哪个单元格。

407566 次浏览

下面的代码执行所需的操作

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

使用 Range类的 setValue方法设置特定单元格的值。

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

解决方案: 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

附加到工作表的脚本是指该脚本驻留在该工作表的脚本编辑器中。不附加意味着不驻留在该工作表的脚本编辑器中。它可以在任何其他地方。