Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.11.2012, 00:07   #1
pashka_dos
Пользователь
 
Аватар для pashka_dos
 
Регистрация: 19.11.2011
Сообщений: 83
Вопрос Работа с колонтитулами в Делфи

Суть задачи:

Есть документ *.дос, этот документ содержит нижний колонтитул (в нем таблица). Нужно программно добавить строки в ячейки этой таблици.

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

Код:
procedure TForm1.Button1Click(Sender: TObject);
var filename: OLEVariant;
begin
  CopyFile(PChar(extractfilepath(Application.ExeName)+'doc\lr1.doc'),PChar(extractfilepath(Application.ExeName)+'temp.doc'),false);
  filename:=extractfilepath(Application.ExeName)+'temp.doc';
  AW.Connect;
  AW.Documents.Open(FileName, EmptyParam,  EmptyParam,  EmptyParam, EmptyParam, EmptyParam, EmptyParam,  EmptyParam, EmptyParam, EmptyParam,  EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
  DW.ConnectTo(AW.ActiveDocument);
  AW.Options.CheckSpellingAsYouType := False;
  AW.Options.CheckGrammarAsYouType := False;
  for i:=1 to 5 do begin
    if ax13[i,1] <> 0 then DW.Tables.Item(1).Cell(i+2,1).Range.Text:=inttostr(i);
    if ax13[i,1] <> 0 then DW.Tables.Item(1).Cell(i+2,5).Range.Text:=floattostrf(ax13[i,3],fffixed,10,2);
    if ax13[i,1] <> 0 then DW.Tables.Item(1).Cell(i+2,7).Range.Text:=floattostrf(ax13[i,2],fffixed,10,2);
    if ax13[i,1] <> 0 then DW.Tables.Item(1).Cell(i+2,6).Range.Text:=floattostrf(ax13[i,1],fffixed,10,2);
  end;
  AW.Visible:=true;
  Dw.Disconnect;
  Aw.Disconnect;

end;
pashka_dos вне форума Ответить с цитированием
Старый 17.11.2012, 16:40   #2
pashka_dos
Пользователь
 
Аватар для pashka_dos
 
Регистрация: 19.11.2011
Сообщений: 83
По умолчанию

Народ, ну напишите кто что знает, времени в обрез.
pashka_dos вне форума Ответить с цитированием
Старый 17.11.2012, 17:44   #3
pashka_dos
Пользователь
 
Аватар для pashka_dos
 
Регистрация: 19.11.2011
Сообщений: 83
По умолчанию

Может кто знает как обратится к колонтитулу, так как я обращался к таблице в документе???
Код:
DW.Tables.Item(1).Cell(i+2,1).Range.Text:=inttostr(i);
pashka_dos вне форума Ответить с цитированием
Старый 17.11.2012, 21:20   #4
Xardas
Сисадмин
Форумчанин
 
Аватар для Xardas
 
Регистрация: 28.12.2007
Сообщений: 320
По умолчанию

К колонтитулу можно обратиться так:

Код:
var
  h : OLEVariant
..........
h := WordApp.ActiveDocument.Sections.Item(n).Headers.Item(n).Range;
.....
К ячейке таблицы в колонтитулах можно обратиться так:
(h - переменная из кода выше)

Код:
h.Tables.Item(n).Cell(x,y).Range;

Последний раз редактировалось Xardas; 17.11.2012 в 21:27.
Xardas вне форума Ответить с цитированием
Старый 17.11.2012, 22:05   #5
pashka_dos
Пользователь
 
Аватар для pashka_dos
 
Регистрация: 19.11.2011
Сообщений: 83
По умолчанию

Xardas, спасибо вам, дальше разберусь сам.
pashka_dos вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа в делфи Iluha_k Общие вопросы Delphi 5 11.07.2012 11:26
Работа со строками в делфи ПИнасол Помощь студентам 3 16.05.2012 10:28
Работа в Делфи Queit72ru Помощь студентам 0 05.12.2011 16:23
работа на делфи djendalf Фриланс 5 23.12.2010 15:18
работа с word-ом в Делфи Лёхич Общие вопросы Delphi 0 30.07.2010 18:00