Google 应用程序脚本电子表格 return 所选范围

Google apps script spreadsheet return selected range

我需要 select 一个单元格,然后获取此单元格的值并将其放入侧边栏文本框区域,然后按提交按钮将此文本放入相同的 selected 单元格。

所以我有侧边栏 html

<div>
<script>
  function updateUrl(vals,range) {   
    var div = document.getElementById('myTextarea');
    div.value = vals.vals ;
  }
</script>
<form id="myForm">
<input type="button" value="Select" onclick="google.script.run
          .withSuccessHandler(updateUrl)
          .getData1()" />
<input onclick="google.script.run.getValuesFromEditor(document.forms[0])" type="button" value="Submit" /><input type="button" value="Close" onclick="google.script.host.close()" /><br/>
<textarea style="border: none; width: 100%; height: 100%; box-sizing: border-box;-ms-box-sizing: border-box;-webkit-box-sizing: border-box;overflow: hidden;position: absolute;" wrap="hard" name="myTextarea" id="myTextarea"></textarea>
</form>
</div>

在script.gs

function getValuesFromEditor(editor){
  var rowData = editor.myTextarea;
  range.setValues(rowData);
}
function getData1() {
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheets()[0];
 var range = sheet.getActiveCell();
 var vals = range.getValue();
  return {vals:vals,range:range};
};

但我无法得到 selected 单元格范围,它总是被设置为未定义。 那么如何从填充文本区域到相同的 selected 范围。因为可以将单元格值放入文本区域然后更改 selection 但我想防止这种情况,所以数据必须发布在从中获取值的同一单元格中。

换句话说,如果值从 A1 单元格获取到文本区域,那么如果按下提交按钮,更改的文本必须仅放置到 A1 单元格而不是活动单元格中,因为 selection 可以在按下提交按钮时更改.

function getValuesFromEditor(editor){
      var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getActiveCell();
      var rowData = editor.myTextarea;
}
function getData1() {
 var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
 // Returns the active cell
 var range = sheet.getActiveCell();
 var vals = range.getValue();
  return vals;
};