Главная страница
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.049 c
4-1125501446
ndn
2005-08-31 19:17
2005.11.06
Проблема с переносимосьтю приложения на win98


6-1122071841
vers
2005-07-23 02:37
2005.11.06
Сохранение указателя на TIdContext в Indy10


14-1129225171
spotter
2005-10-13 21:39
2005.11.06
Простенькая задачка на прологе.


14-1129109787
y-soft
2005-10-12 13:36
2005.11.06
Вопрос к администрации


14-1129381101
alexsis
2005-10-15 16:58
2005.11.06
Уважаемые мастера, люди.