Я хочу создать быстрый способ ввода текста в определенные столбцы листа Google (т. Е. Набор обязательных полей)
Во-первых, я очень неопытен в программировании, поэтому моя попытка пока основана на моих исследованиях в Интернете. Я уверен, что я слишком усложнил сценарий, повторяя элементы сценария.
Я хочу, чтобы он мог делать следующее
1 - Нажмите на пользовательское меню.
2 - Нажмите «Добавить новый риск».
3 - окно подсказки задает 4 последовательности вопросов - (например, имя, возраст, адрес и должность).
4 - Ответы фиксируются и помещаются в следующую доступную строку на листе.
5 - Окно подсказки отменяет весь процесс, нажав крестик или кнопку отмены.
Проблемы, которые нужно преодолеть
1 - До сих пор я мог заставить сценарий задавать последовательность вопросов, однако он вставляет только последний ответ на вопрос в следующую доступную строку.
2 - я не могу понять, как отменить процесс, он просто выводит сообщение и выполняет последовательность команд
3 - мне нужно, чтобы мои ответы фиксировались в определенных столбцах, т. Е. Не все вставлены в A2, B2, C2, D2. Например, Имя (A2), Возраст (G2), Адрес (H2), Работа (X2)
Любая помощь будет высоко ценится
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.createMenu('Risk Menu')
.addItem('Add New Risk', 'showPrompt')
.addToUi();
}
function showPrompt() {
var ui = SpreadsheetApp.getUi(); // Same variations.
var ss = SpreadsheetApp.getActiveSpreadsheet();
var targetSheet = ss.getSheetByName("Sheet1");
var range = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
var result = ui.prompt(
'Add New Risk - Madantory Field 1/4',
'Please enter your name:',
ui.ButtonSet.OK_CANCEL);
var button = result.getSelectedButton();
var text = result.getResponseText();
if (button == ui.Button.OK) {
// User clicked "OK".
range.setValue(text);
} else if (button == ui.Button.CANCEL) {
// User clicked "Cancel".
ui.alert('New risk cancelled');
} else if (button == ui.Button.CLOSE) {
// User clicked X in the title bar.
ui.alert('You closed the dialog.');
}
var result2 = ui.prompt(
'Add New Risk - Mandatory Field 2/4',
'Please enter your address:',
ui.ButtonSet.OK_CANCEL);
var button2 = result2.getSelectedButton();
var text2 = result2.getResponseText();
if (button2 == ui.Button.OK) {
// User clicked "OK".
range.setValue(text2);
} else if (button2 == ui.Button.CANCEL) {
// User clicked "Cancel".
ui.alert('New risk cancelled');
} else if (button2 == ui.Button.CLOSE) {
// User clicked X in the title bar.
ui.alert('You closed the dialog.');
}
var result3 = ui.prompt(
'Add New Risk - Mandatory Field 3/4',
'Please enter your age:',
ui.ButtonSet.OK_CANCEL);
var button3 = result3.getSelectedButton();
var text3 = result3.getResponseText();
if (button3 == ui.Button.OK) {
// User clicked "OK".
range.setValue(text3);
} else if (button3 == ui.Button.CANCEL) {
// User clicked "Cancel".
ui.alert('New risk cancelled');
} else if (button3 == ui.Button.CLOSE) {
// User clicked X in the title bar.
ui.alert('You closed the dialog.');
}
var result4 = ui.prompt(
'Add New Risk - Mandatory Field 4/4',
'Please enter your job role:',
ui.ButtonSet.OK_CANCEL);
var button4 = result4.getSelectedButton();
var text4 = result4.getResponseText();
if (button4 == ui.Button.OK) {
// User clicked "OK".
range.setValue(text4);
} else if (button4 == ui.Button.CANCEL) {
// User clicked "Cancel".
ui.alert('New risk cancelled.');
} else if (button4 == ui.Button.CLOSE) {
// User clicked X in the title bar.
ui.alert('You closed the dialog.');
}
}