Главная страница
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.012 c
14-20686
sapsi
2003-07-07 08:44
2003.08.07
Терминатор-3 Восстание машин


4-20859
Dmk
2003-06-01 01:28
2003.08.07
Как перечислить все окна над моим?


1-20465
Tayfun
2003-07-25 06:54
2003.08.07
Привет всем подскажите пожалуйста ...


14-20717
VEG
2003-07-20 02:30
2003.08.07
Кто-нибудь знает, как установить TimeOut


4-20848
iNew
2003-06-05 09:59
2003.08.07
Прогресс копирования файлов в SHFileOperation