2015-04-19 3 views
0

У меня есть кнопка на моей боковой панели, цель которой - вставить разрыв страницы, где находится курсор. Я попробовал сценарий, чтобы просто вставить разрыв страницы (не в курсор, а только в тело), ​​и он отлично работает.Разрыв страницы сценария приложения Google в курсоре?

Однако, я не могу заставить его работать на курсоре:

function pageBreak() { 
var cursor = DocumentApp.getActiveDocument().getOffset(); 
insertPageBreak(cursor); 
} 

Как я могу это сделать?

+0

Вы можете использовать метод 'getCursor()' непосредственно после доступа к телу документа. [Вот документация] (https://developers.google.com/apps-script/reference/document/document#getCursor()). – Brian

+0

Хорошо, поэтому после того, как я использую getCursor() вместо getOffset(), как мне вставить/добавить всплывающее окно в позицию курсора? – arnold

ответ

0

Вам необходимо знать тип элемента в позиции курсора. Не все типы элементов позволяют вставлять разрыв страницы.

Начните с получения элемента в позиции курсора, затем оттуда оттуда.

function insertPgBrk() { 
    var theCursor = DocumentApp.getActiveDocument().getCursor(); 
    var theElement = theCursor.getElement(); 
    var elementTypeAtCursor = theElement.getType(); 
    Logger.log('elementTypeAtCursor: ' + elementTypeAtCursor); 

    if (elementTypeAtCursor === DocumentApp.ElementType.PARAGRAPH) { 
    Logger.log('its the right type'); 
    theElement.insertPageBreak(0); 
    }; 
}; 

Вы не можете вставить разрыв страницы в элемент ТЕКСТ. Элемент должен быть PARAGRAPH или LISTITEM.

+0

Удивительно, это имеет смысл. Что бы я сделал, если бы мне захотелось, чтобы какой-либо предопределенный текст был выделен жирным шрифтом и центрирован для добавления (например, «куки-файлы хороши») на новой странице после разрыва страницы? Я использую '.editAsText()' или 'FontFamily'? – arnold

+0

Вы можете использовать 'body.appendParagrah ('Cookies are nice')', а затем нарисуйте его с указанными значениями ENUM [здесь] (https://developers.google.com/apps-script/reference/document/attribute). – Brian

+0

Не знаю в данный момент. Лучше спросить отдельный вопрос. –

Смежные вопросы