Установка ширины и высоты таблиц с помощью скрипта приложений Google Slides

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

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


person ajyang818    schedule 07.05.2019    source источник
comment
Вы можете установить высоту и ширину таблицы с помощью службы слайдов, если она новая. таблица создана. Но на текущем этапе высоту и ширину созданной таблицы и конкретной ячейки нельзя изменить с помощью службы слайдов. Я думаю, что это может быть достигнуто в будущем обновлении. На текущем этапе, если вы хотите их достичь, необходимо использовать Slides API. Прошу прощения за эту ситуацию.   -  person Tanaike    schedule 07.05.2019
comment
@Tanaike, ваш комментарий заслуживает ответа.   -  person essbee    schedule 16.05.2019
comment
@essbee Спасибо за ответ. Я отправил ответ, включив образцы сценариев. Не могли бы вы это подтвердить?   -  person Tanaike    schedule 16.05.2019


Ответы (1)


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

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

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

В качестве текущего обходного пути это может быть достигнуто при использовании 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:

В этом примере сценария, используя только Slides 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());

Примечание:

  • When you use Slides API, please enable it at Advanced Google Services.
    • From April 8, 2019, when new script project (standalone script type and container-bound script type) is created and the APIs are enabled at Advanced Google Services, the APIs got to be able to be used. Because the APIs are automatically enabled in the default GCP project when the script project is saved.

Использованная литература:

person Tanaike    schedule 16.05.2019