Я искал и не нашел ни одного решения, применимого к API скрипта Google.
ОБЩАЯ ИНФОРМАЦИЯ: попытка заполнить массив столбцов 1 ряд x 4 (1) случайным шестизначным числом, который еще не существует в столбце 1 (2) сегодняшняя дата (3) введенный пользователем номер магазина (4) введенное пользователем количество ящиков.
В этом сценарии мы сначала открываем диалоговое окно, которое запрашиваетпользователь вводит номер магазина и количество ящиков.Эта (и другая) информация будет заполнена в последнем ряду.
У меня есть две проблемы здесь.
ВЫПУСК # 1: Я не знаю, как проверить случайное число, сгенерированное длячто уже существует в столбце А. Мне нужно иметь возможность создать уникальное случайное число.
ПРОБЛЕМА № 2: При запуске сценария с заполнителем для случайного числа я получаю сообщение об ошибке «Не удается преобразовать массиввозразить [] [] "- я не уверен, где я иду не так, как надо.
function onOpen() {
SpreadsheetApp.getUi()
.createMenu('Create New Exception Number')
.addItem('Add New Exception Number', 'showPrompt')
.addToUi();
}
function showPrompt() {
var ui = SpreadsheetApp.getUi();
var storeNumPrompt = ui.prompt( //receive input for Column C data
'Please enter the store number.',
ui.ButtonSet.OK_CANCEL);
var numBoxesPrompt = ui.prompt( //receive input for Column D data
'Please enter the number of boxes.',
ui.ButtonSet.OK_CANCEL);
var randomNum = Math.floor(Math.random()*999999); //random number for Column A, that does not already exist in Column A
var today = Utilities.formatDate(new Date(), "PST", "dd/MM/yyyy"); //Today's date to go in Column B
var storeNum = storeNumPrompt.getResponseText(); //value based on user input
var numBoxes = numBoxesPrompt.getResponseText(); //value based on user input
var lastRow = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Exception Numbers').getLastRow()+1; //determine what is the last row
var values = [randomNum,today,storeNum,numBoxes];
var newException = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Exception Numbers').getRange(lastRow,1,1,4); //gets the range of the last row, 4 columns wide
newException.setRange(values); //sets the values as previously specified in the last row.
}