2015-04-25 2 views
0

Эй, ребята (пожалуйста, помогите с форматированием, я новичок),Как получить пользовательский ввод в струнной-форме на сценарии Google

Так что я делаю программу, которая требует от вас, чтобы спросить у пользователя ввод даты (которую я возьму через них, просто введите дату через форму MMDDYYY). Я просто запутался в том, как реализовать это, так как мой скрипт включает использование Календаря Google.

На этом сайте: https://developers.google.com/apps-script/reference/base/prompt-response

Они класс под названием PromptResponse, который конкретизируется через выполнение DocumentApp.getUI() или SpreadsheetApp.getUI();

Могу ли я сделать это, делая CalendarApp.getUI()? Или мне нужен другой путь?

И если я могу сделать это таким образом, для метода getResponseText(), когда я его вызываю, он спрашивает пользователя тогда и там (глядя на то, как они использовали его в ссылке)? Благодаря!

ответ

0

Когда вы вызываете one of the ui.prompt() methods, он открывает диалоговое окно и взаимодействует с пользователем. Когда пользователь отклоняет диалог, ui.prompt() возвращает объект PromptResponse, который содержит все результаты этого взаимодействия.

Затем вы можете запросить объект PromptResponse (т. Е. Позвонить response.getResponseText() и response.getSelectedButton()), чтобы узнать, какой текст введен пользователем и какую кнопку пользователь нажал в диалоговом окне.

Объект CalendarApp делает не есть метод getUI(), ни «Tools> редактор скриптов» меню.

Вместо этого прикрепите пользовательский интерфейс скрипта приложений к Google Sheet, Doc, or Form или создайте standalone script и запустите его оттуда. Сценарий может запросить пользователя для ввода, а затем вызвать API календаря, чтобы сделать что-то вроде добавления события календаря.

Также рассмотрите поиск a date-picker library.

Пример в Sheets сценарии 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(); 
} 
+0

Да, я в настоящее время делает автономный скрипт в попытке достичь своей цели. И вопрос (только я так новичок в скриптах Google), как скрипт предложит пользователю ввести данные в этом случае? И большое спасибо за ответ, это было невероятно полезно !!! – Anthony

+0

@ Энтони Я добавил пример сценария листов. Надеюсь, поможет! – Jerry101

+0

Кажется, что ваша ссылка на библиотеку выбора даты приводит к примерам обслуживания UiApp, теперь это устарело. Лучшим выбором, вероятно, будет библиотека JQUERY UI в пользовательском интерфейсе, поддерживаемом HTML. –

Смежные вопросы