在 google sheet 中搜索 sheet 名称时的通配符表达式。 Google 应用脚本
Wildcard expression when searching for sheet name in google sheets. Google App Script
尝试在导入的文件夹中搜索某些 google sheet 时遇到问题。
每个导入的 google sheet 都有一个常规名称,然后是一个唯一 ID。例如:手动导出 (1024508324)
我创建了一个脚本,它将一个文件夹中的所有 google sheet 导入到一个主 google sheet 中。以下:
'''
function getdata() {
//declare multiple variables in one statement - Initial value will
//be undefined
var destinationSpreadsheet,destinationSS_ID,destsheet,destrange,file,files,
sourcerange,sourceSS,sourcesheet,srcSheetName,sourcevalues;
var pattern = /.Manual./;
srcSheetName = (pattern)
destinationSS_ID = "1DmG5DuWmBqaImUuVvXrhH6mRRozsv7ksjYoFLbEhVGY";
files = DriveApp.getFolderById("13Z0RSeWnzW9mbm1wnTOEQrkzxUFCdCZF").getFiles();
destinationSpreadsheet = SpreadsheetApp.openById(destinationSS_ID);
destsheet = destinationSpreadsheet.getSheetByName('Master');
while (files.hasNext()) {
file = files.next();
if (file.getMimeType() !== "application/vnd.google-apps.spreadsheet") {
continue;
};
sourceSS = SpreadsheetApp.openById(file.getId());
sourcesheet = sourceSS.getSheetByName(srcSheetName);
//sourcesheet.getRange(start row, start column, numRows, number of Columns)
sourcerange = sourcesheet.getRange(2,1,sourcesheet.getLastRow()-1,13);
sourcevalues = sourcerange.getValues();
//Write all the new data to the end of this data
destrange = destinationSpreadsheet.getSheetByName("Master")
.getRange(destsheet.getLastRow()+1,1,sourcevalues.length,sourcevalues[0].length);
destrange.setValues(sourcevalues);
};
};
'''
我遇到问题的区域是
var pattern = /.Manual./;
srcSheetName = (pattern)
我想让它找到名称中包含单词 "Manual" 的任何文档,以便在 SrcSheetName 中使用。执行此通配符的最佳方法是什么?我尝试使用 ./Manual./ 但没有用。
告诉我,
加勒特·基德
Get all sheets and use String#includes or String#startsWith and Array#find 得到正确的 sheet:
sourceSS = SpreadsheetApp.openById(file.getId());
sourcesheet = sourceSS.getSheets().find(sheet =>
sheet.getName().includes("Manual"))
尝试在导入的文件夹中搜索某些 google sheet 时遇到问题。 每个导入的 google sheet 都有一个常规名称,然后是一个唯一 ID。例如:手动导出 (1024508324)
我创建了一个脚本,它将一个文件夹中的所有 google sheet 导入到一个主 google sheet 中。以下: '''
function getdata() {
//declare multiple variables in one statement - Initial value will
//be undefined
var destinationSpreadsheet,destinationSS_ID,destsheet,destrange,file,files,
sourcerange,sourceSS,sourcesheet,srcSheetName,sourcevalues;
var pattern = /.Manual./;
srcSheetName = (pattern)
destinationSS_ID = "1DmG5DuWmBqaImUuVvXrhH6mRRozsv7ksjYoFLbEhVGY";
files = DriveApp.getFolderById("13Z0RSeWnzW9mbm1wnTOEQrkzxUFCdCZF").getFiles();
destinationSpreadsheet = SpreadsheetApp.openById(destinationSS_ID);
destsheet = destinationSpreadsheet.getSheetByName('Master');
while (files.hasNext()) {
file = files.next();
if (file.getMimeType() !== "application/vnd.google-apps.spreadsheet") {
continue;
};
sourceSS = SpreadsheetApp.openById(file.getId());
sourcesheet = sourceSS.getSheetByName(srcSheetName);
//sourcesheet.getRange(start row, start column, numRows, number of Columns)
sourcerange = sourcesheet.getRange(2,1,sourcesheet.getLastRow()-1,13);
sourcevalues = sourcerange.getValues();
//Write all the new data to the end of this data
destrange = destinationSpreadsheet.getSheetByName("Master")
.getRange(destsheet.getLastRow()+1,1,sourcevalues.length,sourcevalues[0].length);
destrange.setValues(sourcevalues);
};
};
'''
我遇到问题的区域是
var pattern = /.Manual./;
srcSheetName = (pattern)
我想让它找到名称中包含单词 "Manual" 的任何文档,以便在 SrcSheetName 中使用。执行此通配符的最佳方法是什么?我尝试使用 ./Manual./ 但没有用。
告诉我, 加勒特·基德
Get all sheets and use String#includes or String#startsWith and Array#find 得到正确的 sheet:
sourceSS = SpreadsheetApp.openById(file.getId());
sourcesheet = sourceSS.getSheets().find(sheet =>
sheet.getName().includes("Manual"))