Class DocumentTab

Вкладка Документ

Вкладка документа, содержащая форматированный текст и такие элементы, как таблицы и списки.

Получите вкладку документа, используя Document.getTabs()[tabIndex].asDocumentTab() .

// Get a specific document tab based on the tab ID.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

Методы

Метод Тип возвращаемого значения Краткое описание
add Bookmark(position) Bookmark Добавляет Bookmark в указанное Position .
add Footer() Footer Section Добавляет раздел в нижнем колонтитуле вкладки, если такового нет.
add Header() Header Section Добавляет раздел заголовка вкладки, если такового нет.
add Named Range(name, range) Named Range Добавляет Named Range , который представляет собой Range , имеющий имя и идентификатор для последующего извлечения данных.
get Body() Body Получает Body вкладки.
get Bookmark(id) Bookmark |null Получает Bookmark с заданным идентификатором.
get Bookmarks() Bookmark[] Получает все объекты Bookmark на вкладке.
get Footer() Footer Section |null Получает нижнюю часть вкладки, если она существует.
get Footnotes() Footnote[] |null Извлекает все элементы Footnote из содержимого вкладки.
get Header() Header Section |null Получает заголовок вкладки, если он существует.
get Named Range By Id(id) Named Range |null Получает Named Range с заданным идентификатором.
get Named Ranges() Named Range[] Получает все объекты Named Range на вкладке.
get Named Ranges(name) Named Range[] Получает все объекты Named Range на вкладке с заданным именем.
new Position(element, offset) Position Создает новый Position , который представляет собой ссылку на местоположение на вкладке относительно конкретного элемента.
new Range() Range Builder Создает конструктор, используемый для построения объектов Range из элементов вкладок.

Подробная документация

addBookmark(position)

Добавляет Bookmark в указанное Position .

// Opens the Docs file and retrieves the tab by its IDs. If you created your
// script from within a Google Docs file, you can use
// DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

// Gets the tab body and adds a paragraph.
const paragraph = documentTab.getBody().appendParagraph('My new paragraph.');

// Creates a position at the first character of the paragraph text.
const position = documentTab.newPosition(paragraph.getChild(0), 0);

// Adds a bookmark at the first character of the paragraph text.
const bookmark = documentTab.addBookmark(position);

// Logs the bookmark ID to the console.
console.log(bookmark.getId());

Параметры

Имя Тип Описание
position Position Положение новой закладки.

Возвращаться

Bookmark — новая закладка.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addFooter()

Добавляет раздел в нижнем колонтитуле вкладки, если такового нет.

// Opens the Docs file and retrieves the tab by its IDs. If you created your
// script from within a Google Docs file, you can use
// DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

// Adds a footer to the tab.
const footer = documentTab.addFooter();

// Sets the footer text to 'This is a footer.'
footer.setText('This is a footer');

Возвращаться

FooterSection — Нижний колонтитул вкладок.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addHeader()

Добавляет раздел заголовка вкладки, если такового нет.

// Opens the Docs file and retrieves the tab by its IDs. If you created your
// script from within a Google Docs file, you can use
// DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

// Adds a header to the tab.
const header = documentTab.addHeader();

// Sets the header text to 'This is a header.'
header.setText('This is a header');

Возвращаться

HeaderSection — Заголовок вкладки.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

addNamedRange(name, range)

Добавляет NamedRange , который представляет собой Range , имеющий имя и идентификатор для последующего поиска. Имена не обязательно уникальны, даже между вкладками; несколько разных диапазонов в одном документе могут иметь одно и то же имя, подобно классу в HTML. В отличие от них, идентификаторы уникальны в пределах документа, как идентификатор в HTML. После добавления NamedRange его нельзя изменить, можно только удалить.

Любой скрипт, обращающийся к вкладке, может обращаться к NamedRange . Чтобы избежать непреднамеренных конфликтов между скриптами, рекомендуется добавлять к именам диапазонов уникальный префикс.

// Creates a named range that includes every table in a tab by its ID.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();
const rangeBuilder = documentTab.newRange();
const tables = documentTab.getBody().getTables();
for (let i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
documentTab.addNamedRange('Tab t.0 tables', rangeBuilder.build());

Параметры

Имя Тип Описание
name String Название диапазона, которое не обязательно должно быть уникальным; названия диапазонов должны содержать от 1 до 256 символов.
range Range Диапазон элементов, которые будут связаны с именем; диапазон может представлять собой результат поиска или быть создан вручную с помощью new Range() .

Возвращаться

NamedRangeNamedRange .

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getBody()

Получает Body вкладки.

Вкладки могут содержать различные типы разделов (например, HeaderSection , FooterSection ). Активным разделом для вкладки является Body .

Методы элементов в DocumentTab делегируют управление Body .

// Opens the Docs file and retrieves the tab by its IDs. If you created your
// script from within a Google Docs file, you can use
// DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

// Gets the tab body.
const body = documentTab.getBody();

// Gets the body text and logs it to the console.
console.log(body.getText());

Возвращаться

Body — раздел, содержащий основную информацию вкладки.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getBookmark(id)

Получает Bookmark с заданным ID. Этот метод возвращает null если такой Bookmark в этой вкладке нет.

// Opens the Docs file and retrieves the tab by its IDs. If you created your
// script from within a Google Docs file, you can use
// DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

// Gets the bookmark by its ID.
const bookmark = documentTab.getBookmark('id.xyz654321');

// If the bookmark exists within the tab, logs the character offset of its
// position to the console. Otherwise, logs 'No bookmark exists with the given
// ID.' to the console.
if (bookmark) {
  console.log(bookmark.getPosition().getOffset());
} else {
  console.log('No bookmark exists with the given ID.');
}

Параметры

Имя Тип Описание
id String Идентификатор Bookmark .

Возвращаться

Bookmark |nullBookmark с указанным ID или null , если такой Bookmark на вкладке нет.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getBookmarks()

Получает все объекты Bookmark на вкладке.

// Opens the Docs file and retrieves the tab by its IDs. If you created your
// script from within a Google Docs file, you can use
// DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

// Gets all of the bookmarks in the tab.
const bookmarks = documentTab.getBookmarks();

// Logs the number of bookmarks in the tab to the console.
console.log(bookmarks.length);

Возвращаться

Bookmark[] — Массив объектов Bookmark во вкладке.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getFooter()

Получает нижнюю часть вкладки, если она существует.

// Opens the Docs file and retrieves the tab by its IDs. If you created your
// script from within a Google Docs file, you can use
// DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

// Gets the text of the tab's footer and logs it to the console.
console.log(documentTab.getFooter().getText());

Возвращаться

FooterSection |null — Нижний колонтитул вкладки.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getFootnotes()

Извлекает все элементы Footnote из содержимого вкладки.

Вызов метода getFootnotes приводит к итерации по элементам вкладки. Для больших вкладок следует избегать ненужных вызовов этого метода.

// Opens the Docs file and retrieves the tab by its IDs. If you created your
// script from within a Google Docs file, you can use
// DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

// Gets the first footnote.
const footnote = documentTab.getFootnotes()[0];

// Logs footnote contents to the console.
console.log(footnote.getFootnoteContents().getText());

Возвращаться

Footnote[] |null — Сноски вкладки.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getHeader()

Получает заголовок вкладки, если он существует.

// Opens the Docs file and retrieves the tab by its IDs. If you created your
// script from within a Google Docs file, you can use
// DocumentApp.getActiveDocument().getActiveTab() instead.
// TODO(developer): Replace the IDs with your own.
const documentTab =
    DocumentApp.openById('123abc').getTab('123abc').asDocumentTab();

// Gets the text of the tab's header and logs it to the console.
console.log(documentTab.getHeader().getText());

Возвращаться

HeaderSection |null — Заголовок вкладки.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getNamedRangeById(id)

Получает NamedRange с заданным идентификатором. Этот метод возвращает null если такого NamedRange в вкладке не существует. Имена не обязательно уникальны, даже между вкладками; несколько разных диапазонов в одном документе могут иметь одно и то же имя, подобно классу в HTML. В отличие от этого, идентификаторы уникальны в пределах вкладки, как идентификатор в HTML.

Параметры

Имя Тип Описание
id String Идентификатор диапазона, уникальный в пределах данной вкладки.

Возвращаться

NamedRange |nullNamedRange с заданным ID или null , если такого диапазона на вкладке нет.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getNamedRanges()

Получает все объекты NamedRange на вкладке.

Доступ к NamedRange может получить любой скрипт, обращающийся к этой вкладке. Во избежание непреднамеренных конфликтов между скриптами рекомендуется добавлять к именам диапазонов уникальный строковый префикс.

Возвращаться

NamedRange[] — Массив объектов NamedRange на вкладке, который может включать несколько диапазонов с одинаковым именем.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

getNamedRanges(name)

Получает все объекты NamedRange на вкладке с заданным именем. Имена не обязательно уникальны, даже между вкладками; несколько разных диапазонов в одном документе могут иметь одно и то же имя, подобно классу в HTML. В отличие от них, идентификаторы уникальны внутри вкладки, как идентификатор в HTML.

Доступ к NamedRange может получить любой скрипт, обращающийся к этой вкладке. Во избежание непреднамеренных конфликтов между скриптами рекомендуется добавлять к именам диапазонов уникальный строковый префикс.

Параметры

Имя Тип Описание
name String Название серии, которое не обязательно является уникальным.

Возвращаться

NamedRange[] — массив объектов NamedRange во вкладке с заданным именем.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

newPosition(element, offset)

Создает новый Position , который представляет собой ссылку на местоположение во вкладке относительно определенного элемента. Курсор пользователя, помимо прочего, отображается в виде Position .

// Append a paragraph, then place the user's cursor after the first word of the
// new paragraph.
// TODO(developer): Replace the IDs with your own.
const doc = DocumentApp.openById('123abc');
const documentTab = doc.getTab('123abc').asDocumentTab();
const paragraph = documentTab.getBody().appendParagraph('My new paragraph.');
const position = documentTab.newPosition(paragraph.getChild(0), 2);
doc.setCursor(position);

Параметры

Имя Тип Описание
element Element Элемент, содержащий вновь созданное Position to, должен быть либо Text элементом, либо элементом-контейнером, например, Paragraph .
offset Integer Для Text элементов указывается количество символов перед Position ; для остальных элементов — количество дочерних элементов перед Position внутри того же контейнерного элемента.

Возвращаться

Position — Новая Position .

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents

newRange()

Создает конструктор, используемый для построения объектов Range из элементов вкладок.

// Change the user's selection to a range that includes every table in the tab.
// TODO(developer): Replace the IDs with your own.
const doc = DocumentApp.openById('123abc');
const documentTab = doc.getTab('123abc').asDocumentTab();
const rangeBuilder = documentTab.newRange();
const tables = documentTab.getBody().getTables();
for (let i = 0; i < tables.length; i++) {
  rangeBuilder.addElement(tables[i]);
}
doc.setSelection(rangeBuilder.build());

Возвращаться

RangeBuilder — новый конструктор.

Авторизация

Для скриптов, использующих этот метод, требуется авторизация в одной или нескольких из следующих областей действия :

  • https://www.googleapis.com/auth/documents.currentonly
  • https://www.googleapis.com/auth/documents