Попробуйте следующее:
Просто сохраните закладку, когда уйдете. И используйте gotoBookMark при открытии документа.
function saveBookMark() {
var doc=DocumentApp.getActiveDocument();
var cursor=doc.getCursor();
var bookmark=doc.addBookmark(cursor);
var ps=PropertiesService.getDocumentProperties();
ps.setProperty('bookmarkid', bookmark.getId());
}
function gotoBookMark() {
var doc=DocumentApp.getActiveDocument();
var bookmarkid=PropertiesService.getDocumentProperties().getProperty('bookmarkid');
var pos=doc.getBookmark(bookmarkid).getPosition();
doc.setCursor(pos);
}
Это удалит все закладки:
function clearBookMarks() {
var doc=DocumentApp.getActiveDocument();
var bkmarks=doc.getBookmarks().forEach(function(bm){bm.remove();})
}
Вот меню:
function menu() {
DocumentApp.getUi().createMenu('MyMenu')
.addItem('Save BookMark', 'saveBookMark')
.addItem('Goto Bookmark', 'gotoBookMark')
.addItem('Remove All Bookmarks', 'clearBookMarks')
.addToUi();
}
Закладки классов
Я никогда раньше этим не пользовался, но думаю, приложив немного дополнительных усилий, можно опубликовать отрывок из каждой закладки и поставить флажок, чтобы выбрать их, а затем удалить только те, которые вы не хочу, а также предоставьте кнопку рядом с каждым, чтобы вы могли вернуться к ней всякий раз, когда вы будете sh.
Это был пример кода, который меня заставил:
// Insert a bookmark at the cursor position and log its ID.
var doc = DocumentApp.getActiveDocument();
var cursor = doc.getCursor();
var bookmark = doc.addBookmark(cursor);
Logger.log(bookmark.getId());
После этого вы можете использовать автозавершение кода, чтобы выяснить, какие методы доступны, а затем при необходимости обратиться к руководству. Интересно, что иногда автозавершение кода обновляется до документа, а иногда документация обновляется первой, поэтому иногда приходится немного потрудиться.
Я использовал службу свойств документа, чтобы сохранить идентификатор последней закладки и поэтому, когда вы открываете документ, он всегда переходит к последней закладке.
PropertiesService