Dmi*_*kin 2 google-sheets google-apps-script
我需要选择一个单元格,然后获取该单元格值并将其放入侧边栏文本框区域,然后按提交按钮将此文本放入同一选定单元格。
所以我有侧边栏 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>
Run Code Online (Sandbox Code Playgroud)
在脚本.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};
};
Run Code Online (Sandbox Code Playgroud)
但我无法获取选定的单元格范围,它总是显示为未定义。那么如何从填充文本区域到相同的选定范围。因为可以将单元格值放入文本区域,然后更改选择,但我想防止这种情况,因此数据必须发布在从中获取值的同一单元格中。
换句话说,如果值从 A1 单元格到文本区域,那么如果按提交按钮,更改的文本必须仅放置到 A1 单元格而不是活动单元格中,因为在按下提交按钮时可以更改选择。
小智 6
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;
};
Run Code Online (Sandbox Code Playgroud)