我相信你的目标如下。
-
您希望检索除“主”工作表之外的每个工作表的URL。
-
您希望将URL放入每张工作表的单元格“A1”中。
修改要点:
-
不幸的是,Class Sheet没有
getUrl
。
-
你说
I want to use Googlesheet script to exctract each sheet URL and paste it in range A1 of each sheet
。但是,在你的摘录中,
s.getRange('B3').setValue(s.getUrl());
使用。
当这些点反映在示例脚本中时,它将变为如下所示。
示例脚本:
function getUrl() {
const ignoreSheet = "Main"; // This is from your question.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const baseUrl = ss.getUrl();
const sheets = ss.getSheets();
sheets.forEach(sheet => {
if (sheet.getSheetName() != ignoreSheet) {
sheet.getRange("A1").setValue(`${baseUrl}#gid=${sheet.getSheetId()}`);
}
});
}
-
在这种情况下,每个工作表的URL由“类电子表格的getUrl()”和“类工作表的getSheetId()”创建。
-
运行此脚本时,将检索除“Main”工作表之外的每个工作表的URL,并将每个URL放入每个工作表中的单元格“A1”中。
参考文献:
已添加:
关于以下第二个问题,
如果你允许的话,我还有另一个问题,如果我想忽略多张纸而不是只忽略一张纸,例如“Main”&“CS”床单那我该怎么办??
在这种情况下,下面的示例脚本如何?
function getUrl() {
const ignoreSheets = ["Main", "CS"]; // This is from your question.
const ss = SpreadsheetApp.getActiveSpreadsheet();
const baseUrl = ss.getUrl();
const sheets = ss.getSheets();
sheets.forEach(sheet => {
if (!ignoreSheets.includes(sheet.getSheetName())) {
sheet.getRange("A1").setValue(`${baseUrl}#gid=${sheet.getSheetId()}`);
}
});
}