Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

работа с Word файлами [D7, XP]


molotok ©   (2007-06-13 21:08:00) 

уважаемые мастера, есть проблемка с Word файлами, мне необходимо каким то образом найти и заменить определенный текст в документе. Расскажите пожалуйста как это сделать... Заранее спасибо!


3fc   (2007-06-15 10:27:00) [1]

unit fMain;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, WordXP, OleServer;

type
 TfrmMain = class(TForm)
   WordDoc: TWordDocument;
   WordApp: TWordApplication;
   btnSearchInWordDoc: TButton;
   procedure btnSearchInWordDocClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.btnSearchInWordDocClick(Sender: TObject);
var
 ovFileName, ovConfirmConversions, ovReadOnly, ovAddToRecentFiles,
 ovPasswordDocument, ovPasswordTemplate, ovRevert, ovWritePasswordDocument,
 ovWritePasswordTemplate, ovFormat, ovEncoding, ovVisible,
 ovOpenAndRepair, ovDocumentDirection, ovNoEncodingDialog: OleVariant;

 ovFindText, ovMatchCase, ovMatchWholeWord, ovMatchWildcards, ovMatchSoundsLike,
 ovMatchAllWordForms, ovForward, ovWrap, ovFormatFind, ovReplaceWith, ovReplace,
 ovMatchKashida, ovMatchDiacritics, ovMatchAlefHamza, ovMatchControl: OleVariant;
begin
 WordApp.Connect;

 ovFileName := 'C:\test.doc';
 ovConfirmConversions := False;
 ovReadOnly := False;
 ovAddToRecentFiles := True;
 ovPasswordDocument := '';
 ovPasswordTemplate := '';
 ovRevert := False;
 ovWritePasswordDocument := '';
 ovWritePasswordTemplate := '';
 ovFormat := wdOpenFormatAuto;
 ovEncoding := 0;
 ovVisible := True;
 ovOpenAndRepair := True;
 ovDocumentDirection := wdLeftToRight;
 ovNoEncodingDialog := False;

 WordDoc.ConnectTo(WordApp.Documents.Open(ovFileName, ovConfirmConversions, ovReadOnly, ovAddToRecentFiles,
 ovPasswordDocument, ovPasswordTemplate, ovRevert, ovWritePasswordDocument,
 ovWritePasswordTemplate, ovFormat, ovEncoding, ovVisible,
 ovOpenAndRepair, ovDocumentDirection, ovNoEncodingDialog));

 ovFindText          := 'Текст';
 ovMatchCase         := False;
 ovMatchWholeWord    := False;
 ovMatchWildcards    := False;
 ovMatchSoundsLike   := False;
 ovMatchAllWordForms := False;
 ovForward           := True;
 ovWrap              := wdFindContinue;
 ovFormatFind        := False;
 ovReplaceWith       := 'замена';
 ovReplace           := wdReplaceAll;
 ovMatchKashida      := False;
 ovMatchDiacritics   := False;
 ovMatchAlefHamza    := False;
 ovMatchControl      := False;

 WordDoc.Range.Find.Execute(ovFindText, ovMatchCase, ovMatchWholeWord, ovMatchWildcards, ovMatchSoundsLike,
 ovMatchAllWordForms, ovForward, ovWrap, ovFormatFind, ovReplaceWith, ovReplace,
 ovMatchKashida, ovMatchDiacritics, ovMatchAlefHamza, ovMatchControl);

 WordApp.Visible := True;
end;

end.

Дальше копай в этом направлении. Удачи!


Наверх

Титульная страница Поиск, карта сайта Написать письмо