首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用google脚本自动存档google工作表?

如何使用google脚本自动存档google工作表?
EN

Stack Overflow用户
提问于 2019-01-14 06:20:25
回答 2查看 2.4K关注 0票数 0

我有一个谷歌工作表,这是从一个html主页的表格中刮数据。

数据位于一个简单的google表中,其中A1:H1包含标题/标签,A2:H2包含值

每次数据发生变化,每次我的google表使用新数据更新时,我希望A2:H2中的新数据自动“存档”到另一个google (子)表中。

显然,我可以使用谷歌脚本(然后每天使用触发器自动运行)-我尝试在这里使用这个教程:https://www.computerworld.com/article/2469616/business-intelligence/business-intelligence-79661-how-to-create-an-automatically-updating-spreadsheet.html#slide7

他们拥有/给出的代码是:

代码语言:javascript
复制
function storeData(){
var datarange = sheet.getDataRange();
var numRows = datarange.getNumRows();
var numColumns = datarange.getNumColumns();
var nextColumn = numColumns + 1;
sheet.getRange(1,nextColumn).setValue(new Date());
  for (var i=2; i <= numRows; i++){
var numLikes = sheet.getRange(i, 3).getValue();
sheet.getRange(i, numColumns + 1).setValue(numLikes);
}
}

当我运行这个命令时,我得到了以下错误:"sheet“is not defined

那么,我需要放入我想要在()之间复制的数据范围吗?是像这样吗?

代码语言:javascript
复制
function storeData(){
var datarange = sheet.getDataRange(A2:H2);
var numRows = datarange.getNumRows();
var numColumns = datarange.getNumColumns();
var nextColumn = numColumns + 1;
sheet.getRange(1,nextColumn).setValue(new Date());
  for (var i=2; i <= numRows; i++){
var numLikes = sheet.getRange(i, 3).getValue();
sheet.getRange(i, numColumns + 1).setValue(numLikes);
}
}

当我运行此命令时,我得到以下错误:在第2行中缺少")“符号

有人能帮帮忙吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-14 07:50:22

您需要定义板材。

代码语言:javascript
复制
function storeData(){

  var ss = SpreadsheetApp.openById('ID'); // Select Spreadsheet by ID
  var sheet = ss.getSheetByName('Name'); // Select your Sheet by its Name
  var datarange = sheet.getDataRange();
  var numRows = datarange.getNumRows();
  var numColumns = datarange.getNumColumns();
  var nextColumn = numColumns + 1;

  sheet.getRange(1,nextColumn).setValue(new Date());
  for (var i=2; i <= numRows; i++){
var numLikes = sheet.getRange(i, 3).getValue();
sheet.getRange(i, numColumns + 1).setValue(numLikes);
}
}
票数 0
EN

Stack Overflow用户

发布于 2019-01-14 08:10:29

出现第一个错误是因为没有定义sheet。有几种方法可以定义它。如果要存档的工作表始终相同,请使用

代码语言:javascript
复制
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('Sheet1'); // Replace Sheet1 by the actual name of the sheet to be archived

出现第二个错误是因为getDataRange不应该包含任何参数。而不是

代码语言:javascript
复制
var datarange = sheet.getDataRange(A2:H2);

使用

代码语言:javascript
复制
var datarange = sheet.getRange('A2:H2');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54173751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档