Отрегулируйте положение диаграммы на слайде Google, который создан электронной таблицей Google. - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь настроить положение таблицы скриптов Google Apps на Google Slide.Сначала диаграмма создается в электронной таблице и вставляется в слайд.Я попытался изменить положение на правую сторону или центр, используя setLeft() и alignOnPage() методы.Но, тем не менее, изображение расположено сверху слева на слайде.Может кто-нибудь показать мне, как правильно разместить график на слайде?Спасибо!

var chart2 = sheet.newChart().setChartType(Charts.ChartType.PIE).addRange(sheet.getRange(range2)).setOption('applyAggregateData',0).setPosition(5, 5, 0, 0).build();
sheet.insertChart(chart2);
shapes = slide.getShapes();
slide.insertSheetsChart(chart2).setLeft(0).alignOnPage(SlidesApp.AlignmentPosition.CENTER).setWidth(300).setHeight(185);

1 Ответ

0 голосов
/ 12 декабря 2018

В вашей ситуации, когда используется alignOnPage(), сначала измените размер графика, используя setWidth() и setHeight().Затем используйте alignOnPage(SlidesApp.AlignmentPosition.CENTER).Таким образом, вы можете поместить диаграмму с измененным размером в центр слайда.

Когда alignOnPage() запускается до изменения размера диаграммы, используется размер до изменения размера.Поэтому после изменения размера диаграммы после корректировки отображается нежелательная позиция.

Модифицированный скрипт:

С:
slide.insertSheetsChart(chart2)
  .setLeft(0)
  .alignOnPage(SlidesApp.AlignmentPosition.CENTER)
  .setWidth(300)
  .setHeight(185);
До:
slide.insertSheetsChart(chart2)
  .setWidth(300)
  .setHeight(185)
  .alignOnPage(SlidesApp.AlignmentPosition.CENTER);

Примечание:

  • Если вы хотите использовать setLeft() для этого измененного сценария, добавьте его после alignOnPage().

Если это не тот результат, который вы хотите, яизвините.

Добавлено:

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

  1. Установка ширины и высоты диаграммы.
  2. Установка положения сверху и слева.

Образецскрипт:

var s = SlidesApp.getActivePresentation();
var w = 300;
var h = 185;
var ph = s.getPageHeight();
var pw = s.getPageWidth();

slide.insertSheetsChart(chart2)
  .setWidth(w)
  .setHeight(h)
  .setTop(ph - h)
  .setLeft(pw - w);
...