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

Вниз

Как с Delphi заменять определенные слова текста в Word   Найти похожие ветки 

 
Sesh   (2003-07-26 08:39) [0]

Сталкнулся с надобностью замены текста в Word с Delphi, как это реализовать? Киньте маленький примерчик.


 
Leran2003   (2003-07-26 08:55) [1]

WordApp: TWordApplication;

...
uses MyWordUnit;

procedure TMainFrm.Button1Click(Sender: TObject);
var
WordDoc:_Document;
begin

WordApp.Connect;

WordDoc:=OpenWordDoc(WordApp,"c:\...\My1.doc");
ReplaceWordText(WordDoc,"Привет","Пока",true);

SaveWordDoc(WordDoc,"c:\...\My2.doc");

// активизировать приложение
WordApp.Activate;
// максимизировать приложение
WordApp.WindowState:=wdWindowStateMaximize;

WordApp.Disconnect;
end;

...


Мой Unit (писалось чисто для себя):

unit MyWordUnit;
interface
uses
// Word97;
Word2000,Variants;

// открывает документ и возвращает ссылку на него
function OpenWordDoc(WordApp:TWordApplication;S:string):_Document;
// сохранение документа в файл
procedure SaveWordDoc(WordDoc:_Document;S:string);
// поиск - замена текста
procedure ReplaceWordText(WordDoc:_Document;pFind,pRepl:string;All:boolean);
implementation
//-------------------------------
function OpenWordDoc(WordApp:TWordApplication;S:string):_Document;
var
FName:OleVariant;
begin
FName:=S;
Result:=WordApp.Documents.Open(FName,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam);
end;
//-------------------------------
procedure SaveWordDoc(WordDoc:_Document;S:string);
var
FName:OleVariant;
begin
FName:=S;
WordDoc.SaveAs(FName,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam);
end;
//-------------------------------
procedure ReplaceWordText(WordDoc:_Document;pFind,pRepl:string;All:boolean);
var
F,R,D:OleVariant;
begin
F:=pFind;
R:=pRepl;
if All then D:=wdReplaceAll else D:=wdReplaceOne;
WordDoc.Content.Find.Execute(F,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam,
R,
D,
EmptyParam,
EmptyParam,
EmptyParam,
EmptyParam);
end;

end.


проверенно в 2000, XP, и 97 (здесь нужно будет только снести пару EmptyParam)...



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
3-20423
IronHawk
2003-07-09 14:33
2003.08.07
Получить по коду ошибки EDBEngineError её описаниe.


7-20816
Sectey
2003-05-26 10:19
2003.08.07
Виртуальный файл.


14-20807
Феликс
2003-07-22 15:58
2003.08.07
Вопрос про HTML.


1-20616
Григорий Ситнин
2003-07-24 16:01
2003.08.07
TreeView с автонумерацией


14-20720
Dmitriy O.
2003-07-23 08:57
2003.08.07
Как получить количество дней.