Главная страница
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.032 c
4-1125854024
Ландграф Павел
2005-09-04 21:13
2005.11.06
рисовать на канве то, что находится под ней (под формой)


2-1129119784
Del_programmer
2005-10-12 16:23
2005.11.06
Динамика


14-1129181128
syte_ser78
2005-10-13 09:25
2005.11.06
Книга "советы программистов"


1-1129651373
BFG9k
2005-10-18 20:02
2005.11.06
Delphi не воспринимает пользовательские классы


14-1129526348
Ega23
2005-10-17 09:19
2005.11.06
С днем рождения! 17 октября