Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 使用自定义表单在google工作表上创建弹出式表单_Google Apps Script_Google Sheets Custom Function - Fatal编程技术网

Google apps script 使用自定义表单在google工作表上创建弹出式表单

Google apps script 使用自定义表单在google工作表上创建弹出式表单,google-apps-script,google-sheets-custom-function,Google Apps Script,Google Sheets Custom Function,我对在谷歌工作表上创建函数非常陌生,因此我在创建从弹出表单返回值的代码时遇到了困难。 我一直在使用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)

我对在谷歌工作表上创建函数非常陌生,因此我在创建从弹出表单返回值的代码时遇到了困难。 我一直在使用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.');
}
我想知道是否有办法将response.getResponseText返回到单元格。 当我使用“logger.log”部分所在的“return”函数时,我不断收到错误-“无法从此上下文调用SpreadsheetApp.getUi()”

在编辑此脚本时,是否有其他方法,或者我应该以不同的方式解释获取用户交互的弹出表单

谢谢

自定义函数有限制,它们无法调用
SpreadsheetApp.getUi()
作为替代方案,您可以绘制一个自定义按钮,您可以使用该按钮

您可以对脚本进行重新设计,使其在单击按钮时处于活动状态的单元格中设置一个值

样本

函数myFunction(){
var cell=SpreadsheetApp.getCurrentCell();
var ui=SpreadsheetApp.getUi();
var response=ui.prompt(‘认识你’、‘我可以知道你的名字吗?’、ui.ButtonSet.YES\u NO);
var输出;
if(response.getSelectedButton()==ui.Button.YES){
output='用户名为'+response.getResponseText();
}else if(response.getSelectedButton()==ui.Button.NO){
输出='用户不想提供名称';
}否则{
输出='用户单击对话框标题栏中的关闭按钮';
}
单元设置值(输出);
}

我已经用这个更新了代码,它工作得很好,谢谢。我目前正在尝试将其调整为适合我的特定功能,因此我想知道您是否知道在没有响应框的情况下有一个是/否选项?可能是一个复选框?我使用了“.alert”as-assessed to“.prompt”,它完成了任务。(但感谢您的快速响应)