Из-за большого количества листов в моих таблицах Google я хочу создать ссылки на все листы на первом листе. Это работает в Google Таблицах со следующим кодом:
function goToSheet2() {
goToSheet("Sheet2");
}
function goToSheet(sheetName) {
var sheet = SpreadsheetApp.getActive().getSheetByName(sheetName);
SpreadsheetApp.setActiveSheet(sheet);
}
Дальнейшее объяснение того, как именно это сделать, можно найти в этой другой публикации о переполнении стека.
Однако после того, как вы встроили лист, он больше не работает. Я полагаю, это связано с тем, что этот скрипт заставляет вашу кнопку / изображение работать как ссылка (скрипт просто помогает вам найти подходящий #gid=
), поэтому он фактически просто перезагружает всю страницу, что невозможно во встроенной версии.
Будем очень признательны за любые указатели в правильном направлении.
Изменить: теперь я знаю, почему это не работает. Как указано на этой странице:
Только пользователи, у которых есть разрешение на редактирование электронной таблицы, документа или формы, могут запускать связанный скрипт. Соавторы, у которых есть доступ только для просмотра, не могут открыть редактор сценария, хотя, если они сделают копию родительского файла, они станут владельцем копии и смогут увидеть и запустить копию сценария.
Однако я не могу понять, как превратить связанный скрипт в отдельный скрипт, который работает со встроенным файлом. Я пробовал опубликовать сценарий, «развернув его как веб-приложение», но это не сработало.
Редактировать 2: теперь у меня есть очень неэлегантный способ заставить скрипт работать со встроенной версией электронной таблицы, но таблица не такая, как я хочу.
Объяснение: В основном я меняю код iframe с этого:
<iframe src="https://docs.google.com/spreadsheets/d/SPREADSHEET-ID/pubhtml?widget=true&headers=false&chrome=false" height="500" width="500"></iframe>
К этому:
<iframe src="https://docs.google.com/spreadsheets/d/SPREADSHEET-ID/edit?usp=sharing?widget=true&headers=false" height="500" width="500"></iframe>
Однако это заставило меня показать всю страницу Google Таблиц с меню и всем остальным. Однако сценарий работает, я могу перейти на другой лист, щелкнув изображение.
А теперь самое интересное: я могу скрыть меню, добавив &rm=minimal
к ссылке, но теперь скрипт больше не работает.