Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Выравнивание в ворде


alexey_mas ©   (2007-04-06 14:03:00) 

Подскажите как в ворде можно выровнять вставляемые данные.
т.е. вставляется текст

Range1:=WordApplication.ActiveDocument.Paragraphs.Item(1).Range;
Range1.InsertAfter('Приход: '+'500,00');
Range1.InsertAfter('Приход2441: '+'222500,00');
Range1.InsertAfter('Приход123232: '+'3333500,00');


мне нужно выровнять суммы по правому краю, а текст по левому .
Пробовал вписывать пробелы в зависимости от длины формируемой строки - но это не дает желаемого эффекта.

Как можно выровнять?

Таблицу рисовать мне не нужно.


TStas   (2007-04-08 14:38:00) [1]

Если Вы в Москве живете, то в Библио Глобусе продается книжка Корнякова "Программирование документов и проложений... ". Я купил, много полезного узнал. Реально полезная книжка. И про выравнивание там тоже есть.


Виталий Панасенко(дом)   (2007-04-07 12:17:00) [2]


> homm ©   (06.04.07 21:22) [9]
>
> > табуляцией проще бы было, но не понятно как угадать сколько
> > их нужно ставить в каждой строке
>
> один.
>

Согласен. Даже никогда не обращал внимания.:-).. Но у таблицы есть преимущество: если текст перед цифрами длинный, то он лихо размещается в предыдущей колонке.. С табуляцией такого, по-моему, не сделаешь...


homm   (2007-04-06 21:22:00) [3]

> табуляцией проще бы было, но не понятно как угадать сколько
> их нужно ставить в каждой строке

один.


Styx_   (2007-04-06 16:51:00) [4]


> как угадать

надо не гадать, а правильно выставить выравнивание для табуляции. Подробности в справке Word.


alexey_mas   (2007-04-06 16:50:00) [5]

> [6] Виталий Панасенко ©   (06.04.07 16:28)
>
> > alexey_mas ©   (06.04.07 15:41) [5]
> > табуляцией проще бы было, но не понятно как угадать сколько
>
> > их нужно ставить в каждой строке (у меня текст очень разной
>
> > длины ) и какой код табуляции ?
>
> Не угадаешь

ок , спасибо за пример с таблицей. так получилось


Виталий Панасенко   (2007-04-06 16:28:00) [6]


> alexey_mas ©   (06.04.07 15:41) [5]
> табуляцией проще бы было, но не понятно как угадать сколько
> их нужно ставить в каждой строке (у меня текст очень разной
> длины ) и какой код табуляции ?

Не угадаешь


alexey_mas   (2007-04-06 15:41:00) [7]

табуляцией проще бы было, но не понятно как угадать сколько их нужно ставить в каждой строке (у меня текст очень разной длины ) и какой код табуляции ?


Виталий Панасенко   (2007-04-06 15:06:00) [8]


> мне нужно выровнять суммы по правому краю, а текст по левому

я так табуляцией не умею


homm   (2007-04-06 14:39:00) [9]

> [2] Виталий Панасенко ©   (06.04.07 14:37)

Сложновато.
Не проще табуляцией сделать?


Виталий Панасенко   (2007-04-06 14:37:00) [10]

ParagraphFormat.Alignment := wdAlignParagraphJustify;

> Думкин ©   (06.04.07 14:22) [1]
> а завести колонки?

Таблицу, а не колонки.. И в ячейках выравнивание нужное.. Саму таблицу сделать невидимой

   //-Создаем таблицу для шапки - 3 колонки
   Par1 := wdWord9TableBehavior;
   Par2 := wdAutoFitFixed;
   ActiveDocument.Tables.Add(Selection.Range, 2, 3, Par1, Par2);
   //-Делаем ограничения ячейки невидимыми(непечатаемыми)
   ActiveDocument.Tables.Item(1).Select;

   Selection.Borders.Item(wdBorderTop).LineStyle := wdLineStyleNone;
   Selection.Borders.Item(wdBorderLeft).LineStyle := wdLineStyleNone;
   Selection.Borders.Item(wdBorderBottom).LineStyle := wdLineStyleNone;
   Selection.Borders.Item(wdBorderRight).LineStyle := wdLineStyleNone;
   Selection.Borders.Item(wdBorderHorizontal).LineStyle := wdLineStyleNone;
   Selection.Borders.Item(wdBorderVertical).LineStyle := wdLineStyleNone;
   {Selection.Borders(wdBorderTop).LineStyle := wdLineStyleNone;
   Selection.Borders(wdBorderLeft).LineStyle := wdLineStyleNone;
   Selection.Borders(wdBorderBottom).LineStyle := wdLineStyleNone;
   Selection.Borders(wdBorderRight).LineStyle := wdLineStyleNone;
   Selection.Borders(wdBorderHorizontal).LineStyle := wdLineStyleNone;
   Selection.Borders(wdBorderVertical).LineStyle := wdLineStyleNone;
   Selection.Borders(wdBorderDiagonalDown).LineStyle := wdLineStyleNone;
   Selection.Borders(wdBorderDiagonalUp).LineStyle := wdLineStyleNone}
   //-Заполняем таблицу данными
   ActiveDocument.Tables.Item(1).Cell(1,1).Range.Font.Bold := 1;
   ActiveDocument.Tables.Item(1).Cell(1,1).Range.Font.Underline := 1;
   ActiveDocument.Tables.Item(1).Cell(1,1).Range.Font.Italic := 1;
   ActiveDocument.Tables.Item(1).Cell(1,1).Range.Text := 'Текст';


Думкин   (2007-04-06 14:22:00) [11]

а завести колонки?


Наверх

Титульная страница Поиск, карта сайта Написать письмо