Google apps script 如何将特定工作表的URL插入GoogleSheets中的单元格
我有一张名为“志愿者”的表格,上面有志愿者的名单,还有一张同样的表格,上面有其他信息。我已经设法在两张工作表之间建立了超链接,但要做到这一点,我需要知道特定工作表(称为志愿者)的唯一URL 尽管在这里搜索了几个小时,但我找不到一种简单的方法来找到相关工作表的URL并将其插入另一个工作表(称为公式)上的指定单元格 下面提供了我找到的代码。不幸的是,当我试图复制一份工作表时,这个公式并不总是有效的 任何人能提供的帮助都将受到感激。 谢谢Google apps script 如何将特定工作表的URL插入GoogleSheets中的单元格,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一张名为“志愿者”的表格,上面有志愿者的名单,还有一张同样的表格,上面有其他信息。我已经设法在两张工作表之间建立了超链接,但要做到这一点,我需要知道特定工作表(称为志愿者)的唯一URL 尽管在这里搜索了几个小时,但我找不到一种简单的方法来找到相关工作表的URL并将其插入另一个工作表(称为公式)上的指定单元格 下面提供了我找到的代码。不幸的是,当我试图复制一份工作表时,这个公式并不总是有效的 任何人能提供的帮助都将受到感激。 谢谢 然后将“=hyperlink(GetVolUrl())”插入指
然后将“=hyperlink(GetVolUrl())”插入指定单元格以检索URL。函数以获取工作表URL:
function getSheetUrls() {
const ss = SpreadsheetApp.getActive();
ss.getSheets().forEach(sh=>{
let url = Utilities.formatString('Name:%s Url:%s#gid=%s',sh.getName(),ss.getUrl(),sh.getSheetId())
Logger.log(url)
});
}
function postSheetUrls() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet1');
sh.clearContents();
let vs = [['Sheet Name', 'Link']];
ss.getSheets().forEach(s => {
let url = Utilities.formatString('%s#gid=%s', ss.getUrl(), s.getSheetId());
vs.push([s.getName(), `=hyperlink("${url}","${s.getName()}")`]);
});
sh.getRange(1, 1, vs.length, vs[0].length).setValues(vs);
}
图片:
非常感谢@MetaMan对您的帮助!我能够修改这段代码来做我需要的事情,它解决了我在使用另一个电子表格时遇到的另一个问题。
function getSheetUrls() {
const ss = SpreadsheetApp.getActive();
ss.getSheets().forEach(sh=>{
let url = Utilities.formatString('Name:%s Url:%s#gid=%s',sh.getName(),ss.getUrl(),sh.getSheetId())
Logger.log(url)
});
}
function postSheetUrls() {
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet1');
sh.clearContents();
let vs = [['Sheet Name', 'Link']];
ss.getSheets().forEach(s => {
let url = Utilities.formatString('%s#gid=%s', ss.getUrl(), s.getSheetId());
vs.push([s.getName(), `=hyperlink("${url}","${s.getName()}")`]);
});
sh.getRange(1, 1, vs.length, vs[0].length).setValues(vs);
}