Я пытался создать приложение с использованием скрипта Apps в Google Sheets, которое может работать как на мобильных устройствах (приложение Google Sheets), так и на настольной версии Google Sheets. Код отлично работает на десктопе, но я заметил, что при тестировании на мобильных устройствах окна сообщений не появляются. Вот код, который я использую в настоящее время:
function onEdit(e) {
var activecell = ss.getActiveCell();
if (activecell.getA1Notation() == "D27") {
activecell.uncheck();
var buttoncell = ss.getRange("B27");
if (buttoncell.getValue() == "Start the game!") {
var allnamesentered = ss.getRangeByName("allnamesentered").getValue();
var allnamesunique = ss.getRangeByName("allnamesunique").getValue();
var toomanynames = ss.getRangeByName("toomanynames").getValue();
if (allnamesentered && allnamesunique && !toomanynames) {
buttoncell.setValue("Reset the game");
ss.getRange("B27:D27")
.setBackground("white")
.setFontColor("black");
startgame();
}
else {
if (!allnamesunique) {
Browser.msgBox("Some of your names are the same, which might confuse people. Edit the names and try again.");
}
if (!allnamesentered && !toomanynames) {
Browser.msgBox("You haven't entered all the names. Go do that and try again.");
}
if (toomanynames) {
Browser.msgBox("You've entered more names than players. Maybe delete a few and try again.")
}
}
}
else if (buttoncell.getValue() == "Reset the game") {
var resetgame = Browser.msgBox("Confirm game reset", "Resetting the game will delete all players, scores and cards. Are you sure you want to do this?", Browser.Buttons.YES_NO)
if (resetgame == "yes") {
Logger.log("Game reset.");
buttoncell.setValue("Start the game!");
ss.getRange("B27:D27")
.setBackground("black")
.setFontColor("white");
ss.getRangeByName("playernames").clearContent();
ss.getRangeByName("numplayers").clearContent();
} else {
Logger.log("Game was not reset.");
}
}
}
}
На данный момент я создал обходной путь, используя формулу для отображения сообщения в ячейке, который будет работать, если больше ничего не работает. Мне было интересно, есть ли способ заставить сообщение появляться в мобильном приложении Google Sheets с помощью скрипта Google Apps.