Удалить интервал после абзаца в Word 2007 с помощью VSTO - PullRequest
6 голосов
/ 16 февраля 2010

Я создаю и заполняю таблицу Word 2007 в C #. Когда я просматриваю результат в Word, в каждой ячейке добавляется дополнительное вертикальное пространство после текста. В Word это можно настроить с помощью «макета страницы» / Paragraph / Spacing, где начальное значение равно 10pt.

---------------------------------------------------
| Text...     | Text....  | More text...          |
|             |           |                       | <- Extra spacing
---------------------------------------------------
|             |           |                       |

Как это можно изменить с помощью VSTO?

Я пытался записать макрос, надеясь на некоторые ответы в коде VB - он, похоже, не реагировал на изменение значения интервала.

Мне не удалось найти ничего связанного с документацией VSTO на MSDN.

Edit: Используя шаблон Word, я могу отметить область, которую я заполняю, и установить интервал в 0. Затем он наследуется через мою таблицу - таким образом, он работает на данный момент. Но все же было бы неплохо иметь возможность контролировать расстояние от C # и не полагаться на наследование в Word.

Ответы [ 3 ]

14 голосов
/ 17 февраля 2010

Согласно Хосе Антону Баутиста решение выглядит следующим образом:

Word.Document currentDocument;
currentDocument.Paragraphs.SpaceAfter = 0;

Или

Word.Table table;
table.Range.Paragraphs.SpaceAfter = 0;

Это работает очень хорошо, и мне показывает, где я также могу получить доступ к различным свойствам элементов документа.

0 голосов
/ 28 ноября 2017

Также вам может потребоваться установить LineSpacingRule

myTable.Range.Paragraphs.LineSpacingRule = WdLineSpacing.wdLineSpaceSingle;
0 голосов
/ 17 февраля 2010

Я использовал встроенный стиль «Таблица таблиц», чтобы удалить стиль интервала между абзацами в ячейках (в Word 2007 по умолчанию Вставка> Таблица использует тот же стиль):

...