提交GForms时复制上一行的格式 [英] Copy format of previous row when Gforms is submitted
本文介绍了提交GForms时复制上一行的格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我提交一个Google Forms时,我想将第n°3行(被视为参考)的格式复制粘贴到由Google Sheet"Response"中的表单提交创建的最后一行。 以下是我的代码:
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});
}
提前感谢您的支持
推荐答案
- 您要将格式从活动工作表的第3行复制到最后一行。
- 您希望在提交Google表单时运行函数
CopyFormatting()
。- 您的脚本是电子表格的容器绑定脚本,它将Google表单中的值放入其中。
- 您希望使用Google Apps脚本来实现此目的。
如果我的理解是正确的,那么这个答案如何?请将此视为几个可能的答案之一。
修改点:
- 在您的脚本中,
RefRow.copyTo(LastRow, {formatOnly: true})
的LastRow
是数字。在这种情况下,请使用Range对象。 - 为了在提交Google表单时运行函数
CopyFormatting()
,please install the OnSubmit event trigger to the functionCopyFormatting()
。
修改后的脚本:
修改脚本时,请按如下方式修改。
出发地:RefRow.copyTo(LastRow, {formatOnly: true});
致:
RefRow.copyTo(SheetResponse.getRange(LastRow, 1), {formatOnly: true});
注意:
- 如果要将格式复制到最后一行的下一行,请将
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())
。
引用:
如果我误解了您的问题,并且这不是您想要的结果,我向您道歉。
这篇关于提交GForms时复制上一行的格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文