谷歌表格 - 使用API获取工作簿中的gid列表



我有一个谷歌表格工作簿,里面有大约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。

最新更新