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

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

Отчёт в MS Word [D7]


An ©   (2004-12-03 16:47:00) 

Подскажите, пожалуйста! Использую для создания отчёта MS Word XP, система, естественно, тоже XP. Компоненты со вкладки Servers. На моём компьютере всё отлично работает, а на другом, где 98-я и офис 2000-й не запускается даже exe, выдаёт ошибку. Что можно сделать? Мне казалось, что exe приложение должно работать в любом месте. Переустанавливать там систему и офис проблематично... Может есть ещё какой-нибудь выход? Заранее спасибо.


Johnmen   (2004-12-08 20:06:00) [1]

>DiamondShark ©   (08.12.04 19:27) [6]
>Используй позднее связывание.

Почему ?


DiamondShark   (2004-12-08 19:27:00) [2]

Не используй компоненты со вкладки Servers.
Используй позднее связывание.


Submarine   (2004-12-08 12:11:00) [3]

Да, а простой способ вам не подходит ?
Используйте uses comobj;
Ну код примерно такой:
var wordString: string;
   IField: integer;
    MSWord: variant;
begin
if (not qryOtchets.Active) then qryOtchets.Open;
if  qryOtchets.Active then begin
     qryOtchets.First;
       MsWord := CreateOleObject('Word.Basic');
        MSWord.FileNew('Normal');
      FmDTMDL.qryGrid.First;
   MSWord.FontSize(14);
         MSWord.FormatFont(Bold:= 1);
         MSWord.CenterPara;
  while (not FmDTMDL.qryGrid.Eof) do begin
  WordString:=WordString+FmDTMDL.qryGridCLOUMNS_CAPTION.AsString+#13;
  FmDTMDL.qryGrid.Next;
  end;
   MSWord.Insert(WordString);
   WordString:='';
   MSWord.LeftPara;
         while (not qryOtchets.Eof) do begin
         for IField := 0 to rxDbGrid1.FieldCount -1 do
         try
          wordString:= wordString +
          rxDbGrid1.Columns[IField].Field.asString+#13;
     except
       wordString:= wordString;
     end;
   qryOtchets.Next;
   end; //while
    MSWord.FontSize(10);
    MSWord.Insert(wordString);
   MSWord.EditSelectAll;
 MSWord.TextToTable(NumColumns:= rxDbGrid1.FieldCount,  NumRows:= qryOtchets.RecordCount, Format := '16',Apply := '183');
 MSWord.AppShow;
 MSWord.StartOfDocument;
 MSWord.AppRestore;
   end;
Работает ВЕЗДЕ .....


Pavor   (2004-12-08 11:02:00) [4]

Я в Delphi 7 не смог с компонентами для MS Word XP работать, там параметров больше надо задавать, видимо. Или еще почему..
С компонентом для Word 2000 программа работает без проблем и с XP, и с 2000-м.

Удачи!


YurikGL   (2004-12-03 18:38:00) [5]

Пользуй компоненты от 2000-го. С ними у меня проблем не возникало


YurikGL   (2004-12-03 18:38:00) [6]

Пользуй компоненты от 2000-го. С ними у меня проблем не возникало


An   (2004-12-03 17:56:00) [7]

Ну пожалуйста... Никто не знает что ли?


Наверх

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