gpt4 book ai didi

google-apps-script - 如何在谷歌应用脚​​本中使用部分字符串获取SheetByName

转载 作者:行者123 更新时间:2023-12-02 16:44:38 26 4
gpt4 key购买 nike

我正在尝试使用 .getSheetByName('') 获取一张工作表,其名称包含特定字符串,例如“V1”或“V4”,而不是完全匹配。假设工作表的名称是“2020 0304 V1”,第一部分总是在变化但它包含 V1,我尝试了 .getSheetByName('*V1') 但它不起作用。关于如何实现这一目标的任何提示?

最佳答案

问题和解决方法:

遗憾的是,在现阶段,像正则表达式这样的方法不能与getSheetByName()一起使用。所以在这种情况下,需要使用变通方法。

在这个回答中,我想提出 2 种模式。

模式一:

在此模式中,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());
}
  • 在这种情况下,如果您的电子表格中只有一张工作表名称为 \d{4}\d{4} V1 的模式,您可以通过以下方式检索该工作表工作表[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());
}
  • 在这种情况下,如果您的电子表格中只有一张工作表名称包括 V1 的工作表,您可以通过 sheet[0] 检索该工作表。

注意事项:

  • 在这种情况下,请在脚本编辑器中启用 V8。

引用资料:

关于google-apps-script - 如何在谷歌应用脚​​本中使用部分字符串获取SheetByName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60878538/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com