Настройка ширины и высоты таблиц с помощью скрипта Google Slides Apps - PullRequest
1 голос
/ 07 мая 2019

Я использую Google Apps Script для управления файлом слайдов.Я хочу создать таблицу на слайде и установить высоту / ширину строки / столбца, конкретной ячейки или таблицы в целом.В документации таинственно об этом ничего не говорится, за исключением этой страницы , которая не выглядит многообещающей.

Кто-нибудь знает обходной путь для этого, или я должен прибегнуть к Slides API?

1 Ответ

1 голос
/ 16 мая 2019
  • Вы хотите изменить ширину и высоту таблицы в Google Slides с помощью Google Apps Script.
  • Вы хотите изменить ширину и высоту определенной ячейки.

Я мог бы понять, как выше.

Вы можете установить высоту и ширину таблицы, используя Slides Service, при создании новой таблицы.Но на текущем этапе высота и ширина создаваемой таблицы и конкретной ячейки пока не могут быть изменены с помощью службы слайдов.Я думаю, что это может быть достигнуто в будущем обновлении.

В качестве текущего обходного пути при использовании Slides API это может быть достигнуто.

Пример сценария 1:

В этом примере сценария используется служба слайдов.Новая таблица создается с 300 точками и 100 точками по ширине и высоте на 1-й странице слайдов соответственно.

var slides = SlidesApp.getActivePresentation();
var slide = slides.getSlides()[0];
var table = slide.insertTable(3, 3, 0, 0, 300, 100);

Пример сценария 2:

В этом примере сценария, Slides APIиспользуется.Ширина и высота ячейки «B2» таблицы на 1-й странице изменяются на 300 точек и 100 точек соответственно.

var slides = SlidesApp.getActivePresentation();
var slide = slides.getSlides()[0];
var objectId = slide.getTables()[0].getObjectId();
SlidesApp.getActivePresentation().saveAndClose();
var resource = {requests: [
  {updateTableColumnProperties: {tableColumnProperties: 
    {columnWidth: {magnitude: 300, unit: "PT"}},
    columnIndices: [1],
    objectId: objectId,
    fields: "columnWidth"
  }},
  {updateTableRowProperties: {tableRowProperties: 
    {minRowHeight: {magnitude: 100, unit: "PT"}},
    rowIndices: [1],
    objectId: objectId,
    fields: "minRowHeight"
  }}
]};
Slides.Presentations.batchUpdate(resource, slides.getId());

Пример сценария 3:

В этом примересценария, используя только API слайдов, можно получить результат «Пример сценария 1» и «Пример сценария 2».

var slides = SlidesApp.getActivePresentation();
var slide = slides.getSlides()[0];
var objectId = "sampleTable" + (new Date().getTime());
var resource = {requests: [
  {createTable: {
    rows: 3,
    columns: 3,
    elementProperties: {pageObjectId: slide.getObjectId(), size: {width: {magnitude: 300, unit: "PT"}, height: {magnitude: 100, unit: "PT"}}},
    objectId: objectId
  }},
  {updateTableColumnProperties: {
    tableColumnProperties: {columnWidth: {magnitude: 300, unit: "PT"}},
    columnIndices: [1],
    objectId: objectId,
    fields: "columnWidth"
  }},
  {updateTableRowProperties: {
    tableRowProperties: {minRowHeight: {magnitude: 100, unit: "PT"}},
    rowIndices: [1],
    objectId: objectId,
    fields: "minRowHeight"
  }}
]};
Slides.Presentations.batchUpdate(resource, slides.getId());

Примечание:

  • Когда выиспользуйте Slides API, включите его в Advanced Google Services .
    • С 8 апреля 2019 года, когда создается новый проект сценария (автономный тип сценария и тип сценария с привязкой к контейнеру)и API включены в Advanced Google Services, API должны быть в состоянии использовать.Поскольку API-интерфейсы автоматически включаются в проекте GCP по умолчанию при сохранении проекта сценария.

Ссылки:

...