如何使用脚本编辑器引用Google表格中的不同标签?

时间:2020-01-22 20:36:55

标签: google-apps-script google-sheets

因此,我正在一个项目中,我有一个连接到电子表格的google doc,并添加了另外两个表格,我想用第一个电子表格中的信息填充该表格。我想在脚本编辑器中执行此操作,但是在引用其他选项卡式工作表时遇到了麻烦。 这就是我尝试过的。

var tabs = [
  'Sign In',
  'Master Info',
  'Made Sheet'  
];

var i = 0;
var sheet = ss.getSheetByName(tabs[i]);
var range = sheet.getRange(1, 1).getValues();
Logger.log(sheet);
Logger.log(range);

我得到的输出是:

工作表
时间戳

“时间戳记”是工作表中的第一个单元格,因此我可以引用值,但不能引用工作表的名称或任何其他非i = 0的索引; 感谢您提供任何帮助,或获得有关选项卡式表格如何交互的信息。

这是我到目前为止所做的,对于为什么即使可以打印名称并将其填充数据的第二张纸都为空的原因感到困惑。

  var sheet = ss.getSheetByName(tabs[0]);
  //sign in sheet variable

  var sheet1 = ss.getSheetByName(tabs[1]);

  Logger.log(tabs[0]);//works
  Logger.log(tabs[1]);//works

  var A1Value = sheet.getRange(1,1).getValue();

  var signIn = A1Value;//gets first cell


  var secondVar = sheet1.getRange(1,1).getValue();//error occurs

1 个答案:

答案 0 :(得分:1)

如果您使用的是Google文档,则可以通过以下方式访问电子表格

invert = TRUE

您可以使用list.files()按名称访问任何工作表

您可以使用list.dirs()

获取值

您可以使用fs

写入单元格

如果您知道工作表的顺序并且没有人移动过它们,那么您可以执行以下操作。

var ss=SpreadsheetApp.openById('ssid');//you supply the ssid

如果可以将希望访问的所有数据放在同一单元格中,则可以使用var sheet=ss.getSheetByName('SheetName');var A1value = sheet.getRange(1,1).getValue();访问它们,它们返回并设置数据数组。这是获取和设置数据的更快方法。不过,在处理具有大量公式的电子表格时,通常很困难,并且所需的数据分布在各个地方。

尝试一下:

sheet.getRange(1,1).setValue('new value');