gpt4 book ai didi

google-apps-script - 如何在谷歌脚本上以字符串形式获取用户输入

转载 作者:行者123 更新时间:2023-12-02 01:38:09 30 4
gpt4 key购买 nike

我正在制作一个程序,要求您要求用户输入日期(我将通过他们通过 MMDDYYY 表单输入日期来接受)。我只是对如何实现这一点感到困惑,因为我的脚本包含了谷歌日历的使用。
在本站:https://developers.google.com/apps-script/reference/base/prompt-response
他们有一个名为 PromptResponse 的类,它是通过执行 DocumentApp.getUI() 来实例化的。或 SpreadsheetApp.getUI();我可以这样做 CalendarApp.getUI() ?还是我需要另一种方式?
如果我可以那样做,对于 getResponseText() 方法,当我调用它时,它是否会在当时和那里询问用户(查看他们在链接中使用它的方式)?谢谢!

最佳答案

当您调用 one of the ui.prompt() methods ,它会打开对话框并与用户交互。当用户关闭对话框时,ui.prompt()返回 PromptResponse包含该交互的所有结果的对象。

然后可以查询PromptResponse对象(即调用 response.getResponseText()response.getSelectedButton() )以找出用户输入的文本以及用户在对话框中单击的按钮。

CalendarApp对象没有 getUI()方法也不是“工具 > 脚本编辑器”菜单命令。

相反,将 Apps 脚本 UI 附加到 Google Sheet, Doc, or Form或创建 standalone script并从那里运行它。该脚本可以提示用户输入,然后调用日历 API 来执行添加日历事件等操作。

另外,考虑寻找 a date-picker library .

Google 表格脚本中的示例

/** Demonstrates a simple way to prompt the user for a date. */
function promptForDate() {
var ui = SpreadsheetApp.getUi();
var response = ui.prompt('Create a Calendar Event', 'Enter a date in MMDDYYYY form', ui.ButtonSet.OK_CANCEL);

if (response.getSelectedButton() == ui.Button.OK) {
Logger.log('TODO: Create a Calendar Event for date %s', response.getResponseText());
ui.alert('TODO: Create a Calendar Event for date ' + response.getResponseText());
} else if (response.getSelectedButton() == ui.Button.CANCEL) {
Logger.log('The user canceled the dialog.');
} else {
Logger.log('The user closed the dialog.');
}
}

/** Adds a menu to the Google Sheet. */
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu')
.addItem('Prompt For Date', 'promptForDate')
.addToUi();
}

关于google-apps-script - 如何在谷歌脚本上以字符串形式获取用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29859759/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com