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

Вниз

WordApplication   Найти похожие ветки 

 
td   (2003-04-27 21:05) [0]

Мне надо программно создать документ, где будет заголовок и таблица.
я пытаюсь делать так

Range1:=WordApp1.ActiveDocument.Range(1,1);
Range1.Font.Size:=12;

WordApp1.ActiveDocument.Tables.Add(Range1,2,8);

WordApp1.ActiveDocument.Range(EmptyParam,EmptyParam).InsertBefore("Какой-то заголовок"+#13);


но в результате заголовок у меня оказывается в самой первой ячейке таблицы.
(м.б., это оттого, что у меня 97-й офис?)

Как можно решить проблему?


 
Salvator ©   (2003-04-27 21:59) [1]

Посмотри как делал я:

WordApplication1.Disconnect;
WordApplication1.Documents.add(EmptyParam,EmptyParam);
WordApplication1.Visible:=True;

{создал документ}

WordApplication1.Selection.InsertAfter(Table6["institut"]+#13);
WordApplication1.Selection.InsertAfter("ПРОТОКОЛ №____________от "___"_____________200__г."+#13);
WordParagraphFormat1.ConnectTo(WordApplication1.Selection.ParagraphFormat);
WordParagraphFormat1.Alignment:=1;
WordFont1.ConnectTo(WordApplication1.Selection.Font);
WordFont1.Size:=12;
WordApplication1.ActiveDocument.PageSetup.Set_Orientation(1);
WordApplication1.Selection.InsertAfter(#13);

{Текст перед таблицей}

Direction:=0;
WordApplication1.Selection.Collapse(Direction);

{Снял выделение}

WordApplication1.ActiveDocument.Tables.Add(WordApplication1.Selection.Range,1,14);
WordFont1.ConnectTo(WordApplication1.Selection.Font);
WordFont1.Size:=12;

{Добавил таблицу}

WordApplication1.Selection.InsertAfter("№ п/п");
WordApplication1.Run("NextCell");
WordApplication1.Selection.InsertAfter("Фамилия И.О.");
WordApplication1.Run("NextCell");
WordApplication1.Selection.InsertAfter("Год рождения");
WordApplication1.Run("NextCell");
WordApplication1.Run("NextCell");

{перемещение по таблице}

WordApplication1.Run("TableDeleteRow");

{удалил последнюю строку}

varrow:=1;
varcol:=2;
WordApplication1.ActiveDocument.Tables.Item(1).Cell(1,1).Merge(WordApplication1.ActiveDocument.Tables.Item(1).Cell(2,1));
WordApplication1.ActiveDocument.Tables.Item(1).Cell(1,4).Merge(WordApplication1.ActiveDocument.Tables.Item(1).Cell(1,7));
WordApplication1.ActiveDocument.Tables.Item(1).Cell(1,5).Merge(WordApplication1.ActiveDocument.Tables.Item(1).Cell(2,5));

{Объединил некоторые ячейки}


 
td   (2003-04-27 23:47) [2]

спасибо!


 
td   (2003-04-28 18:00) [3]

у меня этот пример все равно не так заработал. :(
(что значит строка WordApplication1.Selection.InsertAfter(Table6["institut"]+#13);?)

Заголовок оказался после таблицы..


 
td   (2003-04-28 21:59) [4]

up


 
Salvator ©   (2003-04-28 22:09) [5]

Строка:
WordApplication1.Selection.InsertAfter(Table6["institut"]+#13)

Вставляет в документ строку из базы данных!
Она физически не может попасть после таблицы! Т.к. сначала я снимаю выделение и перехожу на следующую строку, и только после этого вставляю таблицу!

Если что не понятно пиши лучше на мыло(проще будет объяснить).
salvator@students.ru



 
td   (2003-04-28 23:24) [6]

это я Direction опрометчиво исправила на EmptyParam.
Теперь все как надо работает. Спасибо :)



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
3-34337
I.Ru.Ru
2003-04-22 09:05
2003.05.12
А можно из формата dbf импортировать в Дельфи в формат db?


3-34347
Chery
2003-04-22 13:44
2003.05.12
Догрузка данных из архива в текущую БД


3-34376
From_X
2003-04-21 17:22
2003.05.12
Временная таблица в Оракле, а есть ли ?...


11-34382
Alexander
2002-07-23 14:45
2003.05.12
Кто нибудь покажет примерный исходничек, как в KOL сделать COM


6-34528
nester
2003-03-12 23:25
2003.05.12
Как сделать так, чтобы при скачивании с инета сразу запускалась