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

Вниз

работа с вордом   Найти похожие ветки 

 
natik   (2005-10-14 20:07) [0]

Такая вот проблема:
нужно сделать заполнение вордовских шаблонов(вставка из базы данных на места закладок), сохранение и распечатку заполненных документов. На word 2000 все работает без проблем, а вот с Office Xp возникает проблема: файл создается, созраняется, а потом возникает ошибка "Microsoft Word - обнаружена ошибка" с предложением отправить отчет в майкрософт...Как с
этим бороться?

+++++++++++++++++++++++++++++++++++
unit winword;{модуль для работы с вордом}
interface
procedure Wopen(filename:string);
procedure Wrun;
procedure Wsearch(data:string);
procedure Winsert(info:string;_italic:boolean);
procedure WQuit;
procedure Wclose;
procedure WSave(Name:string);
procedure WPrint;

implementation
uses Olectnrs,comobj;
var MsWord:Variant;

procedure WOpen(fileName:string);
begin
try  MsWord.Documents.Add(fileName{,EmptyParam});
except  WError(2,"файл не найден"); end;
end;

procedure WRun;
begin
try  MsWord:=CreateOleObject("Word.Application");
    MsWord.Visible:=False;
    except  Werror(1,"Microsoft Word не установлен");
    end;
end;

procedure Wsearch(data:string);
var What,Which,Count,Name:OLEVariant;
begin
What:=-1;
Which:=unAssigned;
Count:=unAssigned;
Name:=data;
MsWord.Selection.GoTo(What,Which,Count,Name);
end;

procedure Winsert(info:string;_italic:boolean);
begin
MsWord.Selection.Font.italic:=_italic;
MsWord.selection.TypeText(info);
end;

procedure WQuit;
begin
MsWord.Quit;
end;

procedure WClose;
begin
MsWord.Documents.Close;
end;

procedure WSave(Name:string);
begin
MsWord.ActiveDocument.SaveAs(FileName:=Name);
end;

procedure WPrint;
begin
MsWord.ActiveDocument.Print;
end;
end.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
{вот так используется}
Wrun;
Wopen("c:\program files\my.dot");//открытие шаблона
...
Wsearch("data1"); Winsert("record 1", false);
...
Wsave("c:\program files\new.doc");
{печать}
Wclose;  //закрытие документа
WQuit;  //закрыть word
end;


 
Гость22   (2005-10-14 20:17) [1]

Попробуй вот это: http://www.kornjakov.ru/stat.htm#s0
Сам когда-то намучился с закладками, то теперь перешел на простую подмену в самом документе.


 
natik   (2005-10-15 19:43) [2]

да я не совсем про работу с закладками спрашиваю,  так-то в общем все даже работает, только с вордом XP возникает ошибка при его закрытии...(ворд 2000 - без проблем все работает как надо).  Может для XP какая другая команда должна быть?



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

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

Наверх




Память: 0.47 MB
Время: 0.057 c
3-1127453269
Bless
2005-09-23 09:27
2005.11.06
ADOConnection=3 потока?


14-1129287728
! Han!
2005-10-14 15:02
2005.11.06
Материал


1-1129379128
kblc
2005-10-15 16:25
2005.11.06
ProgIdToClassID ()


6-1122044361
vers
2005-07-22 18:59
2005.11.06
TIdTCPClient - InputBuffer


3-1127905586
Бульбаш
2005-09-28 15:06
2005.11.06
Передача строкового параметра