Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google工作表将数据从表复制到其他选项卡,同时遵守格式_Javascript_Google Apps Script_Google Sheets_Google Sheets Formula_Spreadsheet - Fatal编程技术网

Javascript Google工作表将数据从表复制到其他选项卡,同时遵守格式

Javascript Google工作表将数据从表复制到其他选项卡,同时遵守格式,javascript,google-apps-script,google-sheets,google-sheets-formula,spreadsheet,Javascript,Google Apps Script,Google Sheets,Google Sheets Formula,Spreadsheet,我希望我能在谷歌应用程序脚本中写的一个脚本上得到一些帮助。我有一个谷歌表单,有两个标签“TESTPLANNING”和“Sheet3”。我的目标是点击按钮将“TESTPLANNING”中的表复制到“Sheet3”,同时考虑到我第一张工作表中的表格式 我已经附上了我的两张图纸的图像,顶部图像代表“TESTPLANNING”选项卡中的表格,底部图像在“Sheet3”中 到目前为止,我有一个工作脚本,可以清除我的表中的所有值,我通过单击“重置”按钮来激活它。我希望“提交”按钮以相同的表格格式将我的表格提

我希望我能在谷歌应用程序脚本中写的一个脚本上得到一些帮助。我有一个谷歌表单,有两个标签“TESTPLANNING”和“Sheet3”。我的目标是点击按钮将“TESTPLANNING”中的表复制到“Sheet3”,同时考虑到我第一张工作表中的表格式

我已经附上了我的两张图纸的图像,顶部图像代表“TESTPLANNING”选项卡中的表格,底部图像在“Sheet3”中

到目前为止,我有一个工作脚本,可以清除我的表中的所有值,我通过单击“重置”按钮来激活它。我希望“提交”按钮以相同的表格格式将我的表格提交到“Sheet3”

到目前为止,我的代码复制了A3:H7范围内的值(如下面的屏幕截图所示),但是我需要“sheet3”中表格的精确副本(不仅仅是值)。我怎样才能做到这一点?我对这方面比较陌生,所以任何帮助都将不胜感激,谢谢

提交按钮的工作代码:

函数提交(){
const ss=SpreadsheetApp.getActive();
const cal_sh=ss.getSheetByName('TESTPLANNING');
const raw_sh=ss.getSheetByName('Sheet3');
常数范围=['A3:H7'];
常量值=[];
ranges.forEach(r=>values.push(…cal_sh.getRange(r.getValues().flat());
raw_sh.getRange(raw_sh.getLastRow()+1,1,1,values.length);
}

谢谢!这对桌子有用。你知道我怎样才能让下一张表格出现在“sheet3”中的表格下面吗。我希望“sheet3”是我所有意见的某种日志。我想我可能需要使用一个“appendRow”函数,但是我不确定如何在我的脚本中实现它输出仅在表下方的“Sheet3”中显示“#NUM!”。不,我只是告诉您如何计算输出范围的位置,以便下一个输出位于
org=osh.getRange('A8')我不知道你是从哪里想到把它作为一行附加的。我的代码中没有这样的代码。是的,它适用于A8。然而,我需要它不断地工作。如何将其设置为递归?我曾尝试将变量插入
org=osh.getRange('A'+?)这样每次都会自动增加8的增量,因此在我的情况下,第一次提交的“+16”下一次“+24”。。。。但是没有成功地使某些东西起作用。
function copyFromOneSheetToAnother() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('TESTPLANNING');
  const rg = sh.getRange('A3:H7');
  const osh = ss.getSheetByName('Sheet3');
  const org = osh.getRange('A3');//only need upper left corner
  rg.copyTo(org);
}