Moh*_*d H 1 google-sheets google-apps-script google-forms
当我提交 Google 表单时,我想将第 3 行(被视为参考)的格式复制粘贴到由 Google 表格“响应”中的表单提交创建的最后一行。此后我的代码:
function CopyFormatting() {
//Déclaration des variables
var SheetResponse = SpreadsheetApp.getActiveSheet(); //Sheet of forms response
var LastRow = SheetResponse.getLastRow(); //last row of sheet (n)
var RefRow = SheetResponse.getRange("3:3"); //Row n°3 considered as reference
//Copy formatting to last row from reference row
RefRow.copyTo(LastRow, {formatOnly: true});
}
Run Code Online (Sandbox Code Playgroud)
预先感谢您的支持
CopyFormatting()在提交 Google 表单时运行该函数。
如果我的理解是正确的,这个答案怎么样?请将此视为几种可能的答案之一。
LastRowofRefRow.copyTo(LastRow, {formatOnly: true})是数字。在这种情况下,请使用范围对象。CopyFormatting()在提交 Google 表单时运行该函数,请为该函数安装 OnSubmit 事件触发器CopyFormatting()。当您的脚本被修改时,请进行如下修改。
从:RefRow.copyTo(LastRow, {formatOnly: true});
Run Code Online (Sandbox Code Playgroud)
到:
RefRow.copyTo(SheetResponse.getRange(LastRow, 1), {formatOnly: true});
Run Code Online (Sandbox Code Playgroud)
getRange(LastRow, 1)为getRange(LastRow + 1, 1)。SpreadsheetApp.getActiveSheet()使用了。所以在这种情况下,使用第一个选项卡。如果您想将脚本运行到电子表格中的特定选项卡,请使用它SpreadsheetApp.getActiveSpreadsheet().getSheetByName("### sheet name ###")来代替。var RefRow = SheetResponse.getRange(SheetResponse.getLastRow() - 1, 1, 1, SheetResponse.getLastColumn())。如果我误解了您的问题并且这不是您想要的结果,我深表歉意。