我有一个谷歌表格工作簿,里面有大约50张纸。
我想创建一个目录(TOC(/索引表,其中列出了所有工作表,并提供指向工作表的超链接以便于访问。
理想情况下,目录是动态更新的,因此不需要手动干预。
我在代码中有这个来返回工作簿中所有工作表的列表:
function sheetnames() {
var out = new Array()
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
for (var i=0 ; i<sheets.length ; i++) out.push( [ sheets[i].getName() ] )
return out
}
这一切都有效,但是我需要能够识别各个选项卡/工作表的 GID,这就是我正在努力的地方。我需要 GID 来创建指向工作表本身的超链接,以便该过程是自动化的,并且通过手动进行更改而出错的可能性较小。
有人设法做到这一点吗?我本以为这将是一个简单的请求,但G Suite支持将我指向了这里。
提前感谢您的时间和帮助!
由于您已经有了工作表名称,请将以下自定义函数添加到电子表格的应用脚本中:
function GID(worksheet_name) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(worksheet_name);
var gid = sheet.getSheetId();
return gid;
}
然后,您可以在工作表名称列旁边的列中运行自定义函数。因此,如果 A2 中有工作表名称,则可以在 B2 中输入=GID(A2)
,这将在 B2 中输出工作表的 GID。