如何使用app Script在GoogleSpreadSheet中写入单元格?

use*_*814 10 google-sheets google-apps-script

抱歉这个愚蠢的问题.

我知道如何使用VBA for Excel进行编程,但我很难在Google Spreadsheet中完成最简单的工作,而且我无法在线找到任何好的教程.

我的问题是关于细胞.在VBA写入单元格我会做:

cells(1,1) = 2 //that would write the number 2 in the first row of the first column  
Run Code Online (Sandbox Code Playgroud)

在VBA中,我还可以将一个单元格分配给变量,例如:

dim something as long
something = cells(1,1)
Run Code Online (Sandbox Code Playgroud)

如何在Google SpreadSheet中应用相同的原则?

非常感谢你!

我试过你们的建议.现在我有一个跟进问题.

我试图修改特定范围内的单元格.我试过这段代码:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var board = sheet.getRange(2,2,9,9);
board[0][0].setValue(2);
Run Code Online (Sandbox Code Playgroud)

但显然我不能使用数组表示法.我不确定.setValeu或.getRange是否有问题.但有没有办法可以使用数组符号来表达一个单元格?

再次感谢!

swi*_*ood 15

试试以下:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange(1,1);
cell.setValue(2);
Run Code Online (Sandbox Code Playgroud)

  • 使用 setValue() (不带 S)时,不需要定义具有 4 个参数的范围,只需定义单元格坐标。请更新您的答案。thx (2认同)

Ale*_*exG 7

值得查看getRange 的文档

getRange(行、列、行数、列数)

返回给定坐标处左上角单元格以及给定行数和列数的范围。

因此,您可以使用数组更新多个单元格,如下所示:

var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1, numRows, numColumns).setValues(data);
SpreadsheetApp.flush();
Run Code Online (Sandbox Code Playgroud)