gpt4 book ai didi

javascript - 如何重命名 Google 电子表格(文件)并使用工作表中的值填充其内容

转载 作者:行者123 更新时间:2023-12-03 04:45:34 26 4
gpt4 key购买 nike

希望具有以下 Google 电子表格函数,该函数 (1) 重命名电子表格(目标文件),(2) 根据另一个电子表格(源文件)中包含的值填充其中一个工作表,从第二个电子表格开始循环继续行,直到列出的所有电子表格都已重命名并填充。

重命名目标文件所需的所有值都位于单元格范围 D2:D 中。

填充目标文件所需的所有值都在单元格区域 A2:D 中

目标文件的所有 ID 都在单元格范围 G2:G 中。

第二行和最后一个包含数据的行之间(包括第二行和最后一个包含数据的行)之间没有空白行,并且将使用包含此范围内的数据的所有行。每列(A、B、C、D、G)具有相同数量的包含数据的行。

包含要使用的条目的行数的值位于单元格区域 E1 中(如果有任何用处的话)(在此函数中未使用)。

function rnmCpyRngTo() {
//rename target spreadsheet and populate range
//in target sheet from values in source spreadsheet
//get source sheet in source spreadsheet
var ssss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("CopyToWrdLists");
//get source cell range containing value of name to be given to target spreadsheet
var scrvn = ssss.getRange("D2").getValue();
//get source cell range containing values to copy to target sheet cell range
var scrvr = ssss.getRange("A2:D2").getValues();
//get source cell range containing values of target spreadsheet ID
var scrvid = ssss.getRange("G2").getValue();
//get target spreadsheet ID
var tssid = DriveApp.getFileById(scrvid);
//get target sheet
var tss = SpreadsheetApp.openById(scrvid).getSheetByName("Wordlist");
//rename target spreadsheet
tssid.setName(scrvn);
//copy values to target sheet cell range
tss.getRange(1, 1, scrvr.length, scrvr[0].length).setValues(scrvr);
}

问题15616530似乎接近预期的结果,但无法对其进行修改以适应。非常感谢您的帮助。

添加:

     //get source cell range containing values of target spreadsheet ID
var scrvid = ssss.getRange("G2").getValues();

源表已共享 here以便任何有链接的人都可以编辑。

假设您已登录 Google,则 folder已分享。

  1. 文件夹“Target_Spreadsheet”中应该没有任何内容
  2. 从用户菜单“Wordlists”运行脚本“Create wordlists - TOMS”来创建文档,并且
  3. 从用户菜单运行“重命名和填充 - TOMS”功能,仅重命名和填充第一个列出的文件。

根据需要重复。这就是我要做的。

谢谢。

最佳答案

这应该可以解决问题,只需将代码放入 for 循环即可:

function rnmCpyRngTo() {
//rename target spreadsheet and populate range
//in target sheet from values in source spreadsheet
//get source sheet in source spreadsheet
var ssss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("CopyToWrdLists");
//get source cell range containing value of name to be given to target spreadsheet
var data = ssss.getDataRange().getValues() // All the data in sheet, since there not empty rows.
Logger.log(data)
var dataLength = data[0][4] // Get number of rows from cell E1, can use data.length instead
for (var i = 1; i <= dataLength ; i++){ // If you rather use data.length change the condition to i < data.length
var scrvn = data[i][3] // Get Rename value
var scrvr = []
scrvr[0] = data[i].slice(0, 4) // Get Copy Values
var scrvid = data[i][6] // Get of SpdSheet
var tss = SpreadsheetApp.openById(scrvid) // Get Spreadsheet
tss.rename(scrvn) // Rename Spreadsheet
Logger.log(scrvr)
tss.getSheetByName("Wordlist").getRange(1, 1, scrvr.length,scrvr[0].length).setValues(scrvr) // Set Copy Values to the sheet

}

}

希望对你有帮助!

关于javascript - 如何重命名 Google 电子表格(文件)并使用工作表中的值填充其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42883614/

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