提交 Gforms 时复制上一行的格式
Copy format of previous row when Gforms is submitted
当我提交 Google 表格时,我想将第 n°3 行(作为参考)的格式复制粘贴到 google [=] sheet "responses"。
以下是我的代码:
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 行复制到活动 sheet 上的最后一行。
- 您想在提交 Google 表单时 运行 函数
CopyFormatting()
。
- 您的脚本是 Spreadsheet 的容器绑定脚本,它将 Google 表单中的值放入其中。
- 您想使用 Google Apps 脚本实现此目的。
如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。
修改点:
- 在您的脚本中,
RefRow.copyTo(LastRow, {formatOnly: true})
中的 LastRow
是数字。在这种情况下,请使用范围对象。
- 为了在提交 Google 表单时 运行 函数
CopyFormatting()
,please install the OnSubmit event trigger to the function CopyFormatting()
.
修改后的脚本:
当您的脚本修改时,请修改如下。
从:
RefRow.copyTo(LastRow, {formatOnly: true});
到:
RefRow.copyTo(SheetResponse.getRange(LastRow, 1), {formatOnly: true});
注:
- 如果要将格式复制到上一行的下一行,请将
getRange(LastRow, 1)
修改为getRange(LastRow + 1, 1)
。
- 在您的脚本中,使用了
SpreadsheetApp.getActiveSheet()
。所以在这种情况下,使用第一个选项卡。如果你想 运行 脚本到 Spreadsheet 中的特定选项卡,请使用 SpreadsheetApp.getActiveSpreadsheet().getSheetByName("### sheet name ###")
而不是那个。
- 如果要将最后一行上一行的格式复制到最后一行,请修改为
var RefRow = SheetResponse.getRange(SheetResponse.getLastRow() - 1, 1, 1, SheetResponse.getLastColumn())
。
参考文献:
如果我误解了您的问题而这不是您想要的结果,我深表歉意。
当我提交 Google 表格时,我想将第 n°3 行(作为参考)的格式复制粘贴到 google [=] sheet "responses"。 以下是我的代码:
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 行复制到活动 sheet 上的最后一行。
- 您想在提交 Google 表单时 运行 函数
CopyFormatting()
。- 您的脚本是 Spreadsheet 的容器绑定脚本,它将 Google 表单中的值放入其中。
- 您想使用 Google Apps 脚本实现此目的。
如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。
修改点:
- 在您的脚本中,
RefRow.copyTo(LastRow, {formatOnly: true})
中的LastRow
是数字。在这种情况下,请使用范围对象。 - 为了在提交 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()
。所以在这种情况下,使用第一个选项卡。如果你想 运行 脚本到 Spreadsheet 中的特定选项卡,请使用SpreadsheetApp.getActiveSpreadsheet().getSheetByName("### sheet name ###")
而不是那个。 - 如果要将最后一行上一行的格式复制到最后一行,请修改为
var RefRow = SheetResponse.getRange(SheetResponse.getLastRow() - 1, 1, 1, SheetResponse.getLastColumn())
。
参考文献:
如果我误解了您的问题而这不是您想要的结果,我深表歉意。