[Google Spreadsheet:单击按钮时需要授权]

问题描述 投票:0回答:1

我制作了一个脚本,应该在Google电子表格中插入两行,然后复制粘贴另外两行的布局和值。但是,当我按下按钮时,出现一个带有“需要授权”的弹出窗口,似乎无法修复。

“电子表格按钮”

“电子表格按钮A”

这是它应该运行的脚本:

function DuplicateSelectedRows() {
  var spreadsheet = SpreadsheetApp.getActive();
  //spreadsheet.getRange('B:B').activate();
 // spreadsheet.setCurrentCell(spreadsheet.getRange('A1'));

  //Insert rows before last training (row B and C) 
  spreadsheet.getActiveSheet().insertColumnsBefore(spreadsheet.getActiveRange().getColumn(), 1);
  spreadsheet.getActiveRange().offset(0, 0, spreadsheet.getActiveRange().getNumRows(), 1).activate();
  spreadsheet.getActiveSheet().insertColumnsBefore(spreadsheet.getActiveRange().getColumn(), 1);
  spreadsheet.getActiveRange().offset(0, 0, spreadsheet.getActiveRange().getNumRows(), 1).activate();
  
  // merge cells top
  spreadsheet.getRange('B2:C2').activate()
  .mergeAcross();
  spreadsheet.getRange('B3:C3').activate()
  .mergeAcross();
  
  //spreadsheet.getRangeList(['B:B', 'C:C']).activate();
  //spreadsheet.setCurrentCell(spreadsheet.getRange('A1'));
  //spreadsheet.getRange('B4:C20').activate();
  
  //paste values in newly created rows
  spreadsheet.getRange('D4:E20').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
  spreadsheet.getRange('B3:C3').activate();
  spreadsheet.getRange('D3:E3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
  spreadsheet.getRange('B2:C2').activate();
  spreadsheet.getRange('D2:E2').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};
button google-apps-script google-sheets scripting authorization
1个回答
0
投票
  • 返回到脚本编辑器并按下运行按钮(三角形按钮)
  • 将弹出窗口,要求您为电子表格授权脚本
  • 继续并忽略所有警告
  • 完成脚本授权后,返回电子表格并按下按钮
© www.soinside.com 2019 - 2024. All rights reserved.