[英]How to populate dropdown list at selection element with values from Google sheet?
[英]How to rename Google spreadsheets (files) and populate their contents with values from a sheet
希望有以下 Google 電子表格 function,它 (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();
源表已在此處共享,以便任何知道鏈接的人都可以編輯。
假設您已登錄 Google,此文件夾已共享。
根據需要重復。 這就是我要做的。
謝謝。
這應該可以解決問題,只需將代碼放入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
}
}
希望能幫助到你!
只需使用newSheet.updateProperties({title: "new title"})例如
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.