Как я могу изменить "заполнение ячеек" для каждого сценария

Я создал очень простой Google-скрипт для добавления таблицы в Документы Google:

var body = DocumentApp.getActiveDocument().getFooter();
body.clear();

var cells = [
['Cell1', 'Cell2', 'Cell3', 'Cell4'],
['Cell5', 'Cell6', 'Cell7', 'Cell8'],
];

var myT = body.appendTable(cells);

var style ={};
style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] = DocumentApp.HorizontalAlignment.RIGHT;
style[DocumentApp.Attribute.FONT_FAMILY] = 'Verdana';

myT.setAttributes(style);
myT.setColumnWidth(0, 178.661);
myT.setColumnWidth(1, 106.9681);
myT.setColumnWidth(2, 74.6011);

Скрипт работает отлично. Теперь я получаю этот вопрос:

Как я могу изменить "Cell Padding" из таблицы? Как я могу шрифт или цвет из определенного поля (например, столбец 2 строки 2)?

2 ответа

Я не могу найти способ изменить "Cell padding", но вот "выход":

  var body = DocumentApp.getActiveDocument().getFooter();
  body.clear();

  var cells = [
  ['', '', '', ''],
  ];

  var myT = body.appendTable(cells);

  var style ={};
  style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] = DocumentApp.HorizontalAlignment.RIGHT;
  style[DocumentApp.Attribute.FONT_FAMILY] = 'Verdana';
  style[DocumentApp.Attribute.FONT_SIZE] = 6;

  myT.setAttributes(style);
  myT.setColumnWidth(0, 178.661);
  myT.setColumnWidth(1, 106.9681);
  myT.setColumnWidth(2, 74.6011);  

  //Col 1
  myT.getCell(0, 0).clear()
  var txt = myT.getCell(0, 0).editAsText();
  txt.setText("Text1\nText1\nText1");

  txt.setBold(0, 45, true);
  txt.setBold(91, 102, true);
  txt.setForegroundColor(150, txt.getText().length-1, '#82E600');

  //Col 2
  myT.getCell(0, 1).clear()
  var txt = myT.getCell(0, 1).editAsText();
  txt.setText("Text2\n\nText2\nText2");

  txt.setBold(0, 8, true);
  txt.setBold(52, 66, true);  

  //Col 3
  myT.getCell(0, 2).clear()
  var txt = myT.getCell(0, 2).editAsText();
  txt.setText("Text3\n\nText3");

  txt.setBold(0, 12, true);  

  //Col 4
  myT.getCell(0, 3).clear()
  var txt = myT.getCell(0, 3).editAsText();
  txt.setText("Text4\n\nText4");

  txt.setBold(0, 11, true);
}

Кажется, нет никаких методов для заполнения ячеек, как упомянуто в этом форуме Google, однако вы можете попробовать их предлагаемые обходные пути. Для изменения цвета ячейки есть setBackGroundColor, а для изменения цвета шрифта есть setFontColor.

Другие вопросы по тегам