Google应用脚本:将内容提供给侧边栏

时间:2016-02-16 14:23:08

标签: javascript google-apps-script

我在电子表格中添加了一个侧边栏,我可以将变量从侧边栏传递到工作表(使用google.script.run)。如何将值从电子表格传递回边栏,修改侧边栏内容?

编辑:添加我的代码。 基本上我在侧边栏中输入一个数字,在电子表格中找到它的行位置,并需要将该行字段传回边栏,以更新div(#fieldA,fieldB)。

一旦我得到行号,我只需要将fieldA,fieldB值添加到变量中,但我不知道如何将其传递回侧栏。

电子表格

Number  FieldA  FieldB
111     1a      1b
222     2a      2b
333     3a      3b

的index.html

<form>
<input type="text" id="someNumber">
<button type="button" onClick="findNumber()">Find number</button>
</form>
<div id="fieldA"></div>
<div id="fieldB"></div>

<script>
function findNumber(){
  var number = document.getElementById("someNumber").value;
  google.script.run.findNumber(number);
}
</script>

code.gs

var sheet = SpreadsheetApp.getActiveSheet();

function findNumber(a){
var lastRow = sheet.getLastRow();
var lookRange = sheet.getRange(1, 1, lastRow);
var values = lookRange.getValues();

for (i in values) {
  if (values[i] == a) {
   var updateRow = 1+ parseInt(i);
   Logger.log(values[i] + " is in row " + updateRow);
   break;
  }
 }

}

1 个答案:

答案 0 :(得分:0)

我在打开时运行一个获取默认值的脚本,然后填充正确的表单字段。我用jquery。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script>

 $(function() {
google.script.run.withSuccessHandler(populateQuestions).withFailureHandler(fail).getCEDefaults();
 });

 function populateQuestions(defaults){ //defaults is the return variable from getCEDefaults() on the .gs file
 $("#enableDisable").attr('checked', defaults.submitTrigger);
};