尝试将GUI中活动UI构建的数据保存回电子表格。但无法弄清楚如何从UI中的文本框中检索字符串值。这就是我想要做的事情:
function saveChanges() {
var Text;
var Location;
var app = UiApp.getActiveApplication();
Text = app.getElementById('CompanyLegalNameTextBox').getText();
Location = "C3";
SpreadsheetApp.getActiveSheet().getRange('Location').setValue('Text');
}
获取错误:TypeError:无法在对象Generic中找到函数getText。
提前感谢您的帮助!
答案 0 :(得分:1)
您关注的具体细节是getElementById
返回不支持任何get操作的GenericWidget
这一事实。
另一个令人困惑的方面是Id和Name。使用名称传递回调函数的参数,getElementById
使用Id(顾名思义)。为简单起见,我通常将我的小部件的名称和ID同时设置为同一个东西。然后,您可以通过addCallbackElement
///snippet
var textBox = app.createTextBox()
.setId('CompanyLegalNameTextBox')
.setName('CompanyLegalNameTextBox');
app.add(textBox);
var handler = app.createServerHandler('saveChanges');
handler.addCallbackElement(textBox);
button.addClickHandler(handler); //button defined elsewhere
您的回拨代码如下所示 - 请注意“e”参数
function saveChanges(e) {
var textValue = e.parameter.CompanyLegalNameTextBox;
///snippet
}
答案 1 :(得分:0)
the UI App documentation详细解释了这一点,请在询问之前阅读。