- Вы хотите назначить вертикальную границу только центру таблицы, которая имеет 1 строку и 2 столбца.
- Например, стиль границы составляет 3 точки по ширине и красный цвет.
- Вы хотите добиться этого с помощью скрипта Google Apps.
Проблема и обходное решение:
К сожалению, похоже, что нет способов присвоить границу только центру таблицы, используя Служба документов . Поэтому в этом ответе в качестве обходного пути я хотел бы предложить использовать Google Docs API. При использовании метода batchUpdate API Docs ваша цель может быть достигнута.
В этом ответе после вставки таблицы с использованием вашего сценария начальный индекс вставленной таблицы извлекается методом get API Docs, затем стиль ячейки таблицы изменяется с помощью метода batchUpdate API Docs.
Модифицированный скрипт:
Когда ваш скрипт изменяется, пожалуйста, измените его следующим образом. Перед запуском сценария включите API Документов Google в расширенных службах Google.
От:
table.setBorderWidth(3);
Кому:
const index = body.getChildIndex(table);
const documentId = doc.getId();
doc.saveAndClose();
const tableStart = Docs.Documents.get(documentId).body.content[index + 1].startIndex;
const tempStyle = {width: {magnitude :0, unit: "PT"}, dashStyle: "SOLID", color: {color: {rgbColor: {blue: 0}}}};
const resource = {requests: [
{updateTableCellStyle: {
tableStartLocation: {index: tableStart},
tableCellStyle: {borderTop: tempStyle, borderBottom: tempStyle, borderLeft: tempStyle, borderRight: tempStyle},
fields: "borderTop,borderBottom,borderLeft,borderRight"
}},
{updateTableCellStyle: {
tableRange: {
tableCellLocation: {tableStartLocation: {index: tableStart}, rowIndex: 0, columnIndex: 0}, rowSpan: 1, columnSpan: 1},
tableCellStyle: {
borderRight: {dashStyle: "SOLID", width: {magnitude: 3, unit: "PT"}, color: {color: {rgbColor: {red: 1}}}}
},
fields: "borderRight"
}}
]};
Docs.Documents.batchUpdate(resource, documentId);
Ссылки: