![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
работа с 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.
Дальше копай в этом направлении. Удачи!