创建按钮以添加具有今天日期的新行,并保留其他字段

时间:2019-04-20 10:15:38

标签: google-apps-script google-sheets scripting google-sheets-macros

我正在尝试创建一个按钮(位置应固定,因此即使我向下滚动页面,该按钮仍保持可见)。我能够绘制它,但现在我陷入了为此设置按钮的步骤:

  • 单击按钮后,它应添加一个新行(如第16行)。在日期字段中,我想预填今天的日期。其他字段应为空白。
  • 第15行是较旧的行,具有从下拉列表和日期字段中插入和选择的数据。

enter image description here

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我自己找到了答案:

// global 
var ss = SpreadsheetApp.getActive();

function my(){       
  var sh = ss.getActiveSheet(), lRow = sh.getLastRow(), mylastrow=lRow + 1; 
  var lCol = sh.getLastColumn(), range = sh.getRange(lRow,1,1,lCol);
  sh.insertRowsAfter(lRow, 1);
  range.copyTo(sh.getRange(lRow+1, 1, 1, lCol), {contentsOnly:false});

  SpreadsheetApp.getActiveSheet().getRange('A'+mylastrow).setValue('');
  SpreadsheetApp.getActiveSheet().getRange('B'+mylastrow).setValue(new Date());
  SpreadsheetApp.getActiveSheet().getRange('C'+mylastrow).setValue('0');
  SpreadsheetApp.getActiveSheet().getRange('D'+mylastrow).setValue('');
  SpreadsheetApp.getActiveSheet().getRange('E'+mylastrow).setValue(new Date());
  SpreadsheetApp.getActiveSheet().getRange('F'+mylastrow).setValue('');
  SpreadsheetApp.getActiveSheet().getRange('G'+mylastrow).setValue('');
}