使用自定义表单在 google 个工作表上创建弹出表单
Creating a pop-up form on google sheets using custom forms
我对在 google 工作表上创建函数还很陌生,因此我很难创建 return 从弹出表单中获取值的代码。
我一直在玩弄 Google Apps 脚本中的这段代码:
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO);
if (response.getSelectedButton() == ui.Button.YES) {
Logger.log('The user\'s name is %s.', response.getResponseText());
} else if (response.getSelectedButton() == ui.Button.NO) {
Logger.log('The user didn\'t want to provide a name.');
} else {
Logger.log('The user clicked the close button in the dialog\'s title bar.');
}
并且想知道是否有办法将 return response.getResponseText 到一个单元格。
当我在“logger.log”部分所在的位置使用“return”函数时,我不断收到错误 - 'Cannot call SpreadsheetApp.getUi() from this context'
是否有另一种方法,在编辑这个脚本时,或者我应该以不同的方式解释为用户交互获取弹出表单。
谢谢
自定义函数有限制,不能调用SpreadsheetApp.getUi()
作为替代方法,您可以绘制一个自定义按钮,您可以 assign a script。
您可以这样设计脚本,将值设置到单击按钮时处于活动状态的单元格。
示例
function myFunction() {
var cell = SpreadsheetApp.getCurrentCell();
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO);
var output;
if (response.getSelectedButton() == ui.Button.YES) {
output = 'The user\'s name is '+ response.getResponseText();
} else if (response.getSelectedButton() == ui.Button.NO) {
output = 'The user didn\'t want to provide a name.';
} else {
output = 'The user clicked the close button in the dialog\'s title bar.';
}
cell.setValue(output);
}
我对在 google 工作表上创建函数还很陌生,因此我很难创建 return 从弹出表单中获取值的代码。 我一直在玩弄 Google Apps 脚本中的这段代码:
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO);
if (response.getSelectedButton() == ui.Button.YES) {
Logger.log('The user\'s name is %s.', response.getResponseText());
} else if (response.getSelectedButton() == ui.Button.NO) {
Logger.log('The user didn\'t want to provide a name.');
} else {
Logger.log('The user clicked the close button in the dialog\'s title bar.');
}
并且想知道是否有办法将 return response.getResponseText 到一个单元格。 当我在“logger.log”部分所在的位置使用“return”函数时,我不断收到错误 - 'Cannot call SpreadsheetApp.getUi() from this context'
是否有另一种方法,在编辑这个脚本时,或者我应该以不同的方式解释为用户交互获取弹出表单。
谢谢
自定义函数有限制,不能调用SpreadsheetApp.getUi()
作为替代方法,您可以绘制一个自定义按钮,您可以 assign a script。
您可以这样设计脚本,将值设置到单击按钮时处于活动状态的单元格。
示例
function myFunction() {
var cell = SpreadsheetApp.getCurrentCell();
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('Getting to know you', 'May I know your name?', ui.ButtonSet.YES_NO);
var output;
if (response.getSelectedButton() == ui.Button.YES) {
output = 'The user\'s name is '+ response.getResponseText();
} else if (response.getSelectedButton() == ui.Button.NO) {
output = 'The user didn\'t want to provide a name.';
} else {
output = 'The user clicked the close button in the dialog\'s title bar.';
}
cell.setValue(output);
}