Thi*_*ham 2 google-sheets google-apps-script
我正在尝试使用 .getSheetByName('') 来获取名称包含特定字符串(例如“V1”或“V4”)的工作表,而不是完全匹配。假设工作表的名称是“2020 0304 V1”,第一部分总是在变化,但它包含 V1,我尝试了 .getSheetByName('*V1') 但它不起作用。关于如何实现这一目标有任何提示吗?
不幸的是,在现阶段,像正则表达式这样的方法不能与getSheetByName(). 所以在这种情况下,就需要使用变通办法。
在这个答案中,我想提出两种模式。
在此模式中,test用于搜索工作表名称。getSheetName()用于检索工作表名称。在本例中,它假设模式类似于2020 0304 V1。
function myFunction() {
const searchText = "V1";
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
const regex = RegExp(`\\d{4} \\d{4} ${searchText}`);
const sheet = sheets.filter(s => regex.test(s.getSheetName()));
if (sheet.length > 0) console.log(sheet[0].getSheetName());
}
Run Code Online (Sandbox Code Playgroud)
\d{4} \d{4} V1,您可以通过 检索该工作表sheet[0]。在此模式中,includes用于搜索工作表名称。getSheetName()用于检索工作表名称。
function myFunction() {
const searchText = "V1";
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
const sheet = sheets.filter(s => s.getSheetName().includes(searchText));
if (sheet.length > 0) console.log(sheet[0].getSheetName());
}
Run Code Online (Sandbox Code Playgroud)
V1在您的电子表格中,您可以通过 检索该工作表sheet[0]。| 归档时间: |
|
| 查看次数: |
2199 次 |
| 最近记录: |