[英]Google Sheets call sheet by name based on cell value of current tab
I am trying to hide or unhide specific tabs by creating functions.我试图通过创建函数来隐藏或取消隐藏特定的选项卡。 The problem is the sheet name will change depending on who's using it.
问题是工作表名称会根据使用它的人而改变。 Is it possible to get a sheet name based on the value of a cell on the current tab?
是否可以根据当前选项卡上单元格的值获取工作表名称?
Example:例子:
function HideIncOne() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('G18').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('INCENTIVE #1'), true);
spreadsheet.getActiveSheet().hideSheet();
};
I tried .getSheetByRange but obviously that didn't work.我试过 .getSheetByRange 但显然没有用。 So I'm trying to call the text from cell B4 of the current tab and make google sheets hide a sheet with the same name as the text in cell B4.
所以我试图从当前选项卡的单元格 B4 中调用文本,并使谷歌工作表隐藏与单元格 B4 中文本同名的工作表。
B4
valueB4
值getSheetByName
and hide itgetSheetByName
获取具有该名称的getSheetByName
并隐藏它function HideSheetInB4() {
const spreadsheet = SpreadsheetApp.getActive();
spreadsheet
.getSheetByName(
spreadsheet
.getActiveSheet()
.getRange('B4')
.getValue()
)
.hideSheet();
}
In this case I only wanted to mess with my sheets that are named with the string "Sheet" followed by 1 or more digits.在这种情况下,我只想弄乱以字符串“Sheet”命名的工作表,后跟 1 个或多个数字。
Hence the regex /Sheet\\d{1,}/
or /Sheet\\d+/
因此正则表达式
/Sheet\\d{1,}/
或/Sheet\\d+/
function addingmetadatatosomesheet() {
const ss = SpreadsheetApp.getActive();
ss.getSheets().forEach((sh, i) => {
if (sh.getName().match(/^Sheet\d{1,}/)) {
sh.addDeveloperMetadata('shidx', i + 1);
}
});
}
function findSheetMetaData() {
const ss = SpreadsheetApp.getActive();
ss.getSheets().forEach(sh => {
let v = sh.createDeveloperMetadataFinder().withKey('shidx').find();
if (v && v.length > 0) {
v.forEach(e => {
Logger.log(`SheetName: ${sh.getName()} Metadata: ${e.getValue()}`);
});
}
});
}
1:37:31 PM Info SheetName: Sheet01 Metadata: 7.0
1:37:31 PM Info SheetName: Sheet1 Metadata: 8.0
1:37:31 PM Info SheetName: Sheet2 Metadata: 9.0
1:37:32 PM Info SheetName: Sheet3 Metadata: 10.0
1:37:32 PM Info SheetName: Sheet4 Metadata: 11.0
1:37:32 PM Info SheetName: Sheet5 Metadata: 12.0
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.