Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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;



Страницы: 1 вся ветка

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

Наверх





Память: 0.45 MB
Время: 0.006 c
14-22833
Sks
2002-02-28 09:45
2002.04.08
Win API


14-22814
Alexander Vasjuk
2002-02-27 14:17
2002.04.08
Подключиться к 3Com хабу


7-22864
Ruslan
2002-01-09 11:49
2002.04.08
RS232


4-22885
Керик
2002-02-07 04:51
2002.04.08
Как создать процесс с параметром?


4-22874
Holms
2002-01-27 19:07
2002.04.08
Как скрыть програму от Ctrl+Alt+Del в WinNT/Win2k?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский