Google apps script 从图纸创建文件
我想让应用程序脚本根据工作表中的名称创建一个新的电子表格。例如,如果我的姓名列表(第7列)为:Google apps script 从图纸创建文件,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我想让应用程序脚本根据工作表中的名称创建一个新的电子表格。例如,如果我的姓名列表(第7列)为: Bender@interpret.org.nz Fry@interpret.org.nz Hermes@interpret.org.nz Leela@interpret.org.nz Nibbler@interpret.org.nz 我希望脚本遍历此列表,将字符串替换为名称(减去电子邮件域),在驱动器中搜索与名称匹配的现有文件。 此外,如果存在一个现有文件,则不执行任何操作,否则创建一个名为的图纸
- Bender@interpret.org.nz
- Fry@interpret.org.nz
- Hermes@interpret.org.nz
- Leela@interpret.org.nz
- Nibbler@interpret.org.nz
function findExistingSheets() {
var sheet = SpreadsheetApp.openById('SpreadSheetKey').getSheetByName('ISheetName');
var data = sheet.getDataRange().getValues();
var files = DriveApp.getFolderById("FileKeyID").getFiles();
for (var i = 1; i < data.length; i++) {
var searchFor = data[i][7].replace("@interpret.org.nz","");
while (files.hasNext()) {
var file = files.next();
if(searchFor == file.getName()){
//Don't do anything
}
else {
//Create speadsheet file with the matchfile name.
var newFile = SpreadsheetApp.create(searchFor);
}
}
}
Logger.log(searchFor);
}
函数findExistingSheets(){
var sheet=SpreadsheetApp.openById('SpreadSheetKey').getSheetByName('ISheetName');
var data=sheet.getDataRange().getValues();
var files=DriveApp.getFolderById(“FileKeyID”).getFiles();
对于(变量i=1;i
试试这个。我还没有测试过,但我想它会让你接近的
function findExistingSheets() {
var sheet = SpreadsheetApp.openById('SpreadSheetKey').getSheetByName('ISheetName');
var data = sheet.getDataRange().getValues();
var titles = [];
for (var i = 1; i < data.length; i++)
{
titles.push(data[i][7].replace("@interpret.org.nz",""));
}
var files = DriveApp.getFolderById("FileKeyID").getFiles();
while (files.hasNext())
{
var file = files.next();
var idx = idxOf(titles,file.getName());
if(idx>-1)
{
var newFile = SpreadsheetApp.create(titles[idx]);
}
}
}
function idxOf(array, x)
{
for(var i = 0;i < array.length;i++)
{
if(array[i]==x)
{
return i;
}
}
return -1;
}
函数findExistingSheets(){
var sheet=SpreadsheetApp.openById('SpreadSheetKey').getSheetByName('ISheetName');
var data=sheet.getDataRange().getValues();
var标题=[];
对于(变量i=1;i-1)
{
var newFile=SpreadsheetApp.create(titles[idx]);
}
}
}
函数idxOf(数组,x)
{
for(var i=0;i
JavaScript索引从0开始,但您的for
循环从1开始。1是经过设计的。这是一个省去列标题的简单方法。谢谢Cooper。我很快就会试试这个。首先,我想在头脑中反复思考几次,找出方法论。再次感谢。