Google脚本,如何创建一个脚本以根据其ID链接多个电子表格?

时间:2019-03-16 19:06:38

标签: google-apps-script google-sheets synchronization

我知道我的头衔含糊,但我想不出更好的头衔。

我正在尝试创建一个脚本,该脚本将其中包含50张纸的中央主电子表格连接到50个单独的电子表格,其中每个电子表格都是主电子表格中一张纸的副本。

到目前为止,我的进步是我现在有了一个脚本,该脚本将一个工作表副本更改为具有特定ID的另一个电子表格,并将工作表名称用作共享值,但是您可以立即看到多个问题:

  1. 当工作表名称更改时,他们将需要做的链接不再起作用(已解决:致谢合作伙伴)

  2. 每个单独的文件都有自己的单独ID,我需要某种方式来引用每个ID(我目前的想法是,这种函数会创建一个二维数组,其中包含所有ID的2d数组文件夹中的其他电子表格,第一行和第二行是这些电子表格中工作表的名称,然后您可以将此功能放到当前脚本中,我必须链接两个电子表格)

我当前的代码(归功于库珀)

function onEdit(e){
  var ss=SpreadsheetApp.openById('id-of-the-other-sheet');
  var sh=ss.getSheetByName(e.range.getSheet().getName());
  var rg=sh.getRange(e.range.rowStart,e.range.columnStart);
  rg.setValue(e.value);
} 

在此先感谢您的帮助,我知道这是一个很大的项目,但欢迎您提供所有帮助。

:)

1 个答案:

答案 0 :(得分:0)

项目扩展

G Suite Free Edition的可安装总触发器运行时间为3小时。这样算来每个电子表格大约需要3.6分钟。

我进行了一些测量,平均执行时间为0.4263秒。因此,操作时间为3.6分钟*每分钟60秒/每次操作0.4263秒,每个电子表格每天要进行500多次编辑。我想这可能确实有用。

在G Suite商业帐户中,每个电子表格每天要进行1000多次编辑。

我希望看到您的一些代码。