Google Sheets 脚本:获取 Sheet 命名范围已打开
Google Sheets Script: Get Sheet a Named Range is On
有没有办法获取 Sheet 上的命名范围?感谢@cooper 提供的脚本,我在单独的 sheet 上列出了我所有的 NR 以供参考,但我还没有找到一种方法来获取 sheet 的名称(或索引)。
function c_NamedRangeToSpreadsheet() {
// Author: Cooper
// Link:
// Purpose: Record all NamedRanges by both Name and Range
const ss=SpreadsheetApp.getActive();
const nrA=ss.getNamedRanges();
const targetSh = "NamedRanges";
let sh=ss.getSheetByName(targetSh);
sh.clear(); // MH
let rowA=[];
for(let i=0;i<nrA.length;i++) {
let name=nrA[i].getName();
let range=nrA[i].getRange().getA1Notation();
rowA.push([name,'','',range]);
}
rowA.sort(); // MH
sh.getRange(1,1,rowA.length,4).setValues(rowA);
}
您可以使用方法 getSheet()
获得给定范围的 sheet:https://developers.google.com/apps-script/reference/spreadsheet/range#getsheet
之后,您可以使用 getName()
获取 sheet 的名称 (https://developers.google.com/apps-script/reference/spreadsheet/sheet#getname) or getIndex()
to get its index (https://developers.google.com/apps-script/reference/spreadsheet/sheet#getindex)。
有没有办法获取 Sheet 上的命名范围?感谢@cooper 提供的脚本,我在单独的 sheet 上列出了我所有的 NR 以供参考,但我还没有找到一种方法来获取 sheet 的名称(或索引)。
function c_NamedRangeToSpreadsheet() {
// Author: Cooper
// Link:
// Purpose: Record all NamedRanges by both Name and Range
const ss=SpreadsheetApp.getActive();
const nrA=ss.getNamedRanges();
const targetSh = "NamedRanges";
let sh=ss.getSheetByName(targetSh);
sh.clear(); // MH
let rowA=[];
for(let i=0;i<nrA.length;i++) {
let name=nrA[i].getName();
let range=nrA[i].getRange().getA1Notation();
rowA.push([name,'','',range]);
}
rowA.sort(); // MH
sh.getRange(1,1,rowA.length,4).setValues(rowA);
}
您可以使用方法 getSheet()
获得给定范围的 sheet:https://developers.google.com/apps-script/reference/spreadsheet/range#getsheet
之后,您可以使用 getName()
获取 sheet 的名称 (https://developers.google.com/apps-script/reference/spreadsheet/sheet#getname) or getIndex()
to get its index (https://developers.google.com/apps-script/reference/spreadsheet/sheet#getindex)。