Главная страница
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.021 c
4-20864
killer
2003-06-03 18:36
2003.08.07
Еще вопросик про кнопочки... :)))


1-20559
Alexxxx
2003-07-23 17:24
2003.08.07
Как сделать оброботчик события MouseEnter на Image


3-20450
autopan
2003-07-17 14:43
2003.08.07
Вопрос по T-SQL


1-20483
Леприкон
2003-07-25 10:15
2003.08.07
Выделение строки StringGrid рамкой


3-20394
Alex_x
2003-07-16 10:24
2003.08.07
Как в BeforeDelete отменить процес удаления