【问题标题】:How to write in cells in GoogleSpreadSheet using app Script?如何使用应用脚本在 Google SpreadSheet 中的单元格中写入?
【发布时间】:2014-04-06 17:43:47
【问题描述】:

抱歉这个愚蠢的问题。

我知道如何在 VBA for Excel 上编程,但是我很难在 Google 电子表格中做最简单的事情,而且我在网上找不到任何好的教程。

我的问题是关于细胞的。在 VBA 中写入单元格我会这样做:

cells(1,1) = 2 //that would write the number 2 in the first row of the first column  

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

dim something as long
something = cells(1,1)

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

非常感谢!

我已经尝试了你们的建议。现在我有一个后续问题。

我正在尝试修改特定范围内的单元格。我试过这段代码:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var board = sheet.getRange(2,2,9,9);
board[0][0].setValue(2);

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

再次感谢!

【问题讨论】:

  • 请用谷歌搜索“谷歌应用脚​​本”并首先阅读那里的教程。请参阅电子表格应用程序。
  • 我知道我似乎很懒惰....但我发誓事实并非如此。我已经完成了基本教程,但我仍然无法掌握它......我很抱歉学得这么慢......

标签: google-apps-script google-sheets


【解决方案1】:

尝试以下操作:

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var cell = sheet.getRange(1,1);
cell.setValue(2);

【讨论】:

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

docs for getRange 值得一看。

getRange(row, column, numRows, numColumns)

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

因此,您可以使用这样的数组更新多个单元格:

var sheet = SpreadsheetApp.getActiveSheet();
sheet.getRange(1, 1, numRows, numColumns).setValues(data);
SpreadsheetApp.flush();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 2012-09-19
    • 2020-12-26
    • 2023-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多