Javascript 应用程序脚本以匹配包含ID的工作表名称并使其可见
我正在尝试修改此应用程序脚本,以便能够搜索包含特定ID(例如123)的工作表,并使该工作表可见/激活(如果该工作表名为Javascript 应用程序脚本以匹配包含ID的工作表名称并使其可见,javascript,regex,google-apps-script,string-matching,Javascript,Regex,Google Apps Script,String Matching,我正在尝试修改此应用程序脚本,以便能够搜索包含特定ID(例如123)的工作表,并使该工作表可见/激活(如果该工作表名为abc123def) 如果我输入工作表的全名abc123def,下面的代码效果很好,但我只想输入工作表名称的一部分,即ID,在本例中为123 这在PowerShell中适用于我: $match = "123" $text = Get-Content -Path $fulltext | Select-String -Pattern $match $text | Out-File -
abc123def
)
如果我输入工作表的全名abc123def
,下面的代码效果很好,但我只想输入工作表名称的一部分,即ID,在本例中为123
这在PowerShell中适用于我:
$match = "123"
$text = Get-Content -Path $fulltext | Select-String -Pattern $match
$text | Out-File -FilePath $output
但我不确定如何为以下应用程序脚本进行类似匹配:
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuItems=[{name: 'Go To Tab', functionName: 'goToTab'} ];
ss.addMenu('Script', menuItems);
};
function goToTab() {
var name = Browser.inputBox('Enter Tab Name:','',Browser.Buttons.OK_CANCEL);
try {
SpreadsheetApp.getActiveSpreadsheet().getSheetByName(name).activate();
}
catch(e) {
Browser.msgBox('Sheet named: "' + name + '" does not exists!');
}
};
试试这个:
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuItems = [{
name: 'Go To Tab',
functionName: 'goToTab'
}];
ss.addMenu('Script', menuItems);
};
function goToTab() {
var name = Browser.inputBox('Enter Tab Name:', '', Browser.Buttons.OK_CANCEL);
if (name) {
try {
//create a regex out of "name"
regexp = new RegExp(name, 'g');
//get all the sheets
var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
//go through all the sheets
for (var i = 0; i < sheets.length; i++) {
//if sheet name matches the user entry then activate and go out of the loop
if (sheets[i].getName().match(regexp)) {
sheets[i].activate();
break;
}
}
} catch (e) {
Browser.msgBox('Sheet named: "' + name + '" does not exists!');
}
}
};
函数onOpen(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
变量菜单项=[{
名称:“转到选项卡”,
函数名:“goToTab”
}];
ss.addMenu('Script',menuItems);
};
函数goToTab(){
var name=Browser.inputBox('输入选项卡名称:','',Browser.Buttons.OK\u取消);
如果(姓名){
试一试{
//用“name”创建正则表达式
regexp=新的regexp(名称“g”);
//把所有的床单都拿来
var sheets=SpreadsheetApp.getActiveSpreadsheet().getSheets();
//检查所有的床单
对于(变量i=0;i