Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

Как в Word документе сделать найти и заменить на 


DimaIv   (2002-03-25 17:00) [0]

например: найти <Firms> заменить на НазваниеФирмы, причем <Firms> может быть несколько (подключаться к Ворду я умею).



AFROLOV   (2002-03-25 17:37) [1]

1. Запускаем Word.
2. Используем Macrorecorder для записи макроса для поиска и замены. - это практически готовое решение с точностью до синтаксиса.
3. Более подробную информацию можно найти в справке по VBA

Держи код который решает эту задачу.

var
MSWord:Variant;
..
begin
..
MSWord:=CreateOleObject("Word.Application");
//настройка параметров для замены
MSWord.Selection.Find.Text = "<Frims>";//То что ты хочешь менять
MSWord.Selection.Find.Replacement.Text = "АО МММ"//То на что ты хочешь менять
MSWord.Selection.Find.Forward = True;
MSWord.Selection.Find.Wrap = wdFindContinue;
MSWord.Selection.Find.Format = False;
MSWord.Selection.Find.MatchCase = False;
MSWord.Selection.Find.MatchWholeWord = False;
MSWord.Selection.Find.MatchWildcards = False;
MSWord.Selection.Find.MatchSoundsLike = False;
MSWord.Selection.Find.MatchAllWordForms = False;
//
MSWord.Selection.Find.Execute Replace:=2;//Поиск и замена





DimaIv   (2002-03-25 19:31) [2]

Вот так работает:
var MyWrap,MyforWard,MyReplace,MyOleStr,NewStr:OleVariant;

MyWrap:=wdFindContinue;
MyforWard:=true;
MyReplace:=WdReplaceAll;
MyOleStr:=<Firms>;
NewStr:="АО МММ"

WordDocument1.Range.Find.Execute(MyOleStr,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,NewStr,MyReplace,EmptyParam,EmptyParam,
MyforWard,MyWraP);



Толик   (2002-03-27 14:23) [3]

Есть ещё вариант: создаёшь в Ворде свой шаблон документа (для простоты положи его туда же, где лежит Normal.dot), добавляешь в него через Файл-Свойства-Прочие необходимые параметры. Подключаешся к Ворду из Делфей, создаешь документ, но на основании своего шаблона:

uses
Word2000, Office2000;

var
Template, NewTempl, Props: OleVariant;
WordApp: WordApplication;
Doc: WordDocument;
begin
//подключаемся к Ворду
...
//создаём документ на основе своего шаблона
Template := "MyTemplate";
NewTempl := false;
Doc := WordApp.Documents.AddOld(Template, NewTempl);

//а вот дальше у меня через интерфейсы не получилось, поэтому
//воспользуемся OleVariant

Props := Doc.CustomDocumentProperties;
//заполняешь поля своими значениями
for i := 1 to Props.Count do
Props.Item[i].Value := "Название фирмы";
//обновляешь их
Doc.Fields.Update;
end;




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.015 c
3-22604           wicked                2002-03-14 10:03  2002.04.08  
грабли в ADO + JET...


14-22834          Stan4Ever             2002-02-27 22:43  2002.04.08  
Где можно скачатъ английские MP3 Files?


7-22867           МИФИст                2002-01-10 22:16  2002.04.08  
Кнопки и как с ними бороться...


1-22678           Goblinus              2002-03-28 16:19  2002.04.08  
RichEdit


14-22828          VID                   2002-02-27 23:42  2002.04.08  
Interbase.Часть 2.