Google 表格 - 自动创建一个新页面并在单元格中链接到该页面

Google Sheets - Automatically create a new page and link to that page in a cell

提问人:Rossive 提问时间:11/17/2023 更新时间:11/17/2023 访问量:22

问:

我已经有一段代码,可以根据是否输入了一行数据自动创建一个新页面,但是我希望能够获得指向该新页面的链接并自动将该链接放在原始页面的单元格中(希望这是有道理的)我没有任何编码知识,但是设法通过一些谷歌搜索使这段代码适用于工作表。希望你能帮助我;我将用于自动页面创建的代码放在下面,以显示我正在使用的内容。

function onEdit(e){
if (e.source.getActiveSheet().getName() != "GAMES" || e.range.columnStart != 4) return;
const template = sh.getSheetByName("TEMPLATE");
let data = e.range.offset(0,-3,1,4).getValues();
let lName = data[0][0];

let newSheet = template.copyTo(sh).setName(lName);
}

同样,不是编码员,但当前的代码运行良好,如果可能的话,只需要它来做这个额外的位。如果没有,我将不得不手动完成。

google-apps-script google-sheets-formula 电子表格

评论


答:

0赞 Kevin P. 11/17/2023 #1

这是可能的。您正在寻找的只是设置一个简单的公式。并利用超链接#gid

setFormula Google Apps 脚本

超链接 #gid

function onEdit(e) {
  if (e.source.getActiveSheet().getName() != "GAMES" || e.range.columnStart != 4) return;

  const sh = e.source;

  const template = sh.getSheetByName("TEMPLATE");

  let data = e.range.offset(0, -3, 1, 4).getValues();

  let lName = data[0][0];

  let newSheet = template.copyTo(sh).setName(lName);

  // Create a link to the new sheet in the column to the right of edited cell
  e.range.offset(0,1).setFormula('=HYPERLINK("#gid=' + newSheet.getSheetId() + '","Link to ' + lName + '")');
}

我没有看到你在哪里声明,所以我把它加在那里。例如,这将在 E 列中创建指向新工作表的链接。看起来您已经知道偏移量的工作原理,因此请根据需要进行更改。sh

评论

0赞 Rossive 11/17/2023
太好了,所以我必须让我原来的脚本 + 这个运行,或者两者兼而有之,如果它很明显只是想理解,对不起。
0赞 Kevin P. 11/17/2023
不用担心,这只是将最后两行添加到您现有的脚本中。它一气呵成,考虑到您已经存储了移动部件,我只是在相邻的单元格中设置公式以链接到您创建的工作表。
0赞 Rossive 11/17/2023
完美,只需检查一下,它就完全做到了。谢谢!