powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Winword: границы ячеек в таблице
4 сообщений из 4, страница 1 из 1
Winword: границы ячеек в таблице
    #38368502
Добрый день,
есть вопрос по таблицам в Ворде
Открывается шаблон документа с уже созданной таблицей, хочу заменить в одной из её ячеек границу

Код: c#
1.
2.
3.
TableCellProperties c = doc.MainDocumentPart.Document.Body.Elements<Table>().ElementAt(0).Elements<TableRow>().ElementAt(5).Elements<TableCell>().ElementAt(2).TableCellProperties;
TableCellBorders tcb = new TableCellBorders(new TopBorder() { Val = BorderValues.None });
c.Append(tcb);



Ничего не происходит.
Если поставить значение BorderValues.Double - граница становится двойной.

Правильно ли я понимаю, что приоритет имеет TableProperties.TableBorders.InsideHorizontalBorder и пока её не сбросишь в BorderValues.None, ничего не получится?
...
Рейтинг: 0 / 0
Winword: границы ячеек в таблице
    #38369802
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не осилил модель,
не осилил на каком ЯП это написано
...
Рейтинг: 0 / 0
Winword: границы ячеек в таблице
    #38370607
катастрофа, C#, библиотека DocumentFormat.OpenXml
Решения, кроме первоначальной принудительной установки
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
TableBorders tb = 
    new TableBorders(
        new TopBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single) },
        new BottomBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single) },
        new LeftBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single) },
        new RightBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single) },
        new InsideHorizontalBorder() { Val = new EnumValue<BorderValues>(BorderValues.None) },
        new InsideVerticalBorder() { Val = new EnumValue<BorderValues>(BorderValues.Single) }
    );


и потом ручной установки BorderValues.Single для каждой строки, так и не нашёл..
...
Рейтинг: 0 / 0
Winword: границы ячеек в таблице
    #38370838
TabStop
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне когда-то помог такой код на VBA
Код: vbnet
1.
2.
3.
oWord.Selection.ParagraphFormat.TabStops.Add .PageWidth - .LeftMargin - .RightMargin, 0, 0
  oWord.Selection.TypeText vbTab
  
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Winword: границы ячеек в таблице
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]