Изменение междустрочного интервала в Word через Delphi
19.08.2011
Свойства
Для начала надо выбрать ту часть документа, в которой мы хотим изменить интервал. Выберем первую таблицу:
WordDocument1.Tables.Item(1).Select;
Теперь осталось изменить у неё свойства LineUnitAfter и LineUnitBefore, первое отвечает за интервал "после", а второе "перед". Установим интервал равным 0:
WordApplication1.Selection.ParagraphFormat.LineUnitAfter := 0;
WordApplication1.Selection.ParagraphFormat.LineUnitBefore := 0;
Стоит заметить что в данном случае интервал измеряется в строках, а что бы устанавливать значения в пунктах (пт.) надо использовать следующую функцию:
WordApplication.LinesToPoints(i);
Где i - количество строк, т.е приравнивание будет иметь вид:
WordApplication1.Selection.ParagraphFormat.LineUnitAfter := WordApplication.LinesToPoints(0);
WordApplication1.Selection.ParagraphFormat.LineUnitBefore := WordApplication.LinesToPoints(0);
Но, почему то у меня при установке интервала равным нулю ничего не менялось и значение оставались равными по умолчанию. В качестве выхода, можно указать очень маленькая значение, например 0.01
WordApplication1.Selection.ParagraphFormat.LineUnitAfter := 0.01;
WordApplication1.Selection.ParagraphFormat.LineUnitBefore := 0.01;
После чего Word автоматически приравняет столь маленькое значение нулю.