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;
};
我需要 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;
};