Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.23;
Скачать: CL | DM;

Вниз

Delphi+Word (разбивка текста на несколько колонок)   Найти похожие ветки 

 
Petrovich   (2003-12-09 17:25) [0]

Кто-нибудь пробовал из Delphi в создаваемом Word-овском документе разбить кусочек текста (а именно - узенькой таблицы) на несколько колонок?
То есть создается документ Word. В нем создается куча таблиц с заголовками. Таблицы есть и широкие и узенькие. Так вот дабы уменьшить длину документа, узенькие таблицы желательно бы расположить в несколько колонок. Делаю все это в Worde и практически без изменений переношу текст макроса в Delphi.
Выделяю (как мне кажется, только какую-то одну :-) таблицу и делаю с выделенной таблицей преобразование количества колонок текста (а не количества колонок таблицы).

WordDoc.Tables.Item(WordDoc.Tables.Count).Select;
if WordApp.ActiveWindow.View.SplitSpecial<>wdPaneNone then
WordApp.ActiveWindow.Panes.Item(2).Close;
if WordApp.ActiveWindow.ActivePane.View.Type_<>wdPrintView Then
WordApp.ActiveWindow.ActivePane.View.Type_:=wdPrintView;
WordApp.Selection.PageSetup.TextColumns.SetCount(1);
EvenlySpaced:=False;

WordApp.Selection.PageSetup.TextColumns.EvenlySpaced:=EvenlySpaced;
WordApp.Selection.PageSetup.TextColumns.LineBetween:=EvenlySpaced;
if PaneNums>1 then begin
case PaneNums of
2: Width:=WordApp.CentimetersToPoints(7.62);
3: Width:=WordApp.CentimetersToPoints(4.67);
4: Width:=WordApp.CentimetersToPoints(3.19);
end;
Spacing:=WordApp.CentimetersToPoints(1.25);
EvenlySpaced:=False;
for i:=1 to PaneNums-1 do
WordApp.Selection.PageSetup.TextColumns.Add(Width,Spacing,EvenlySpaced);
end;

В результате заголовок перед таблицей имеет нужное число колонок, а таблица располагается в одной колонке (колонка - это Pane, а не Column). А нужно бы наоборот :-) Кто-нибудь копался так подробно в Worde? Столько много кода генерится в макросе в Worde именно для каждой таблицы, так что тут, вроде бы, все правильно. Но из Delphi не работает :-)


 
skiph ©   (2003-12-10 11:51) [1]

Поподробнее: последний цикл у тебя такой и есть или ты приводишь его в сокращении?
Все дело в том, что согласно этому макросу ты делишь то, на чем у тебя стоит курсор (ибо Selection): если курсор у тебя стоит на заголовке, то и на колонки делиться будет заголовок (даже Word так делает), а чтобы поделить таблицу, то и курсор нужно устанавливать на таблицу.



Страницы: 1 вся ветка

Текущий архив: 2003.12.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
3-75091
Script
2003-11-29 22:09
2003.12.23
Сортировка Paradox овской таблички


14-75361
Thor
2003-11-28 22:31
2003.12.23
учебник по Sound Forge.


6-75287
][ncognito
2003-10-24 03:46
2003.12.23
Ping


14-75359
Gorlum
2003-11-29 13:38
2003.12.23
Тормозят фильмы


11-75133
Boguslaw
2003-04-08 18:35
2003.12.23
TKOLButton and Enter key