Я создаю и заполняю таблицу Word 2007 в C#. Когда я просматриваю результат в Word, каждой ячейке добавили дополнительное вертикальное пространство после текста. В Word это может быть скорректировано через "макет страницы"/Paragraph/Spacing, где начальное значение составляет 10 ПБ.
---------------------------------------------------
| Text... | Text.... | More text... |
| | | | <- Extra spacing
---------------------------------------------------
| | | |
Как это может быть изменено с помощью VSTO?
Я попытался записать макрос, надеющийся на некоторые ответы в коде VB - это, казалось, не ответило на изменение значения интервала.
Я не смог найти, что что-либо имело отношение в документации VSTO относительно MSDN.
Править: Используя шаблон Word, я могу отметить область, я заполняю и устанавливаю интервал на 0. Это затем наследовано через мою таблицу - таким образом это работает на данный момент. Но тем не менее, было бы хорошо смочь управлять интервалом от C# и не полагаться на наследование в Word.
Согласно Хосе Антону Баутиста решение выглядит следующим образом:
Word.Document currentDocument;
currentDocument.Paragraphs.SpaceAfter = 0;
Или
Word.Table table;
table.Range.Paragraphs.SpaceAfter = 0;
Это работает очень хорошо и для меня показывает, где я также могу получить доступ к различным свойствам элементов документа.
Я использовал встроенный стиль «Сетка таблицы», чтобы удалить стиль интервала между абзацами в ячейках (по умолчанию Word 2007, Вставка> Таблица использует в том же стиле):
Word.Document Doc = Globals.ThisDocument.Application.ActiveDocument;
Word.Table WordTable = Doc.Tables.Add(curSel.Range, 8, 5, ref missing, ref missing);
//Table Style
object tableStyle = "Table Grid";
WordTable.set_Style(ref tableStyle);