Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.18;
Скачать: CL | DM;

Вниз

Word : Поиск и замена   Найти похожие ветки 

 
Yurij-7   (2005-07-05 18:56) [0]

Вечер добрый
Уважаемые мастера, прошу помочь в следуюей ситуации :
есть докумет ворды, в нем есть надписи (рамочки) я туда пишу слово (#FIO#), которое пытаюсь найти и заменить на значение например из EDIT1.TEXT, но вот проблема  если #FIO# в теле документа то его находит и меняет, а вот если в надписи то ничего неполучаеться, вот пример кода:
word.activedocument.range.find.execute (FindText := "#FIO#", replacewith := edit1.Text, replace := wdReplaceAll);

Заранее благодарен.


 
Yurij-7   (2005-07-06 10:52) [1]

ну неужели никто незнает, или может я неправильно задал  вопрос?


 
Yurij-7   (2005-07-06 11:35) [2]

или всетаки лучше использовать закладки?


 
Virgo_Style ©   (2005-07-06 11:42) [3]

Мне это решение не нравится, скорее всего есть более красивое, но.. работает же %-)

var oleI: OleVariant; I: integer;
...
//Здесь твой поиск (по документу)

//А здесь - по надписям
for I:=1 to WApp.ActiveDocument.Shapes.Count do
begin
 oleI:=I;
 WApp.ActiveDocument.Shapes.Item(oleI).Select(EmptyParam);

//Здесь твой поиск по надписям

end;


 
Yurij-7   (2005-07-06 11:52) [4]

а что можете посоветовать? я просто только учусь, и может изначально выбираю ложный путь?
я так понимаю что если мне надо изменить что то в надписи то ее надо выделить??
спасибо.


 
Yurij-7   (2005-07-06 13:15) [5]

Virgo_Style ©   (06.07.05 11:42) [3]  - нехочет работать :((


 
Virgo_Style ©   (2005-07-06 13:32) [6]

Yurij-7   (06.07.05 13:15) [5]
нехочет работать


C часу до двух - перерыв на обед 8-)

Что говорит-то?


 
Yurij-7   (2005-07-06 13:41) [7]

Virgo_Style ©   (06.07.05 13:32) [6]  так вроде 12:30 :)))
делаю примерно так:

word.documents.open (pat);
for I:=1 to word.ActiveDocument.Shapes.Count do
begin
oleI:=I;
word.ActiveDocument.Shapes.Item(oleI).Select(EmptyParam);

//Здесь твой поиск по надписям
word.activedocument.Shapes.find.execute (FindText := "#pbcard#", replacewith := edit1.Text, replace := wdReplaceAll);
end;

а оно пишет типа неподдерживаеться автоматизацией :((
пдскажите пжл что делать.
спасибо


 
Virgo_Style ©   (2005-07-06 13:52) [8]

На какой строке пишет? И для какой версии TWordApplication? У меня для 2000.

"Поиск по надписям" я делал так:
 Result:=WApp.Selection.Find.Execute(.....),  Word.ActiveDocument.Shapes у меня не имеет ни метода, ни свойства Find.


 
Yurij-7   (2005-07-06 15:57) [9]

я Ворд запускаю через CreateOleObject
именно то что вы подсказали и работает, жаль что долговато ,просто я еще добавлял activedocument и через то отказывалось работать.

Virgo_Style ©   (06.07.05 13:52) [8]  Огромное спасибо !!!


 
Yurij-7   (2005-07-07 16:33) [10]

еще возник вопросик, всего порядка 60 надписей, и сам документ формируеться очень долго, может надо обращаться до конкретного итема (точнее надписи)?
спасибо.


 
Yurij-7   (2005-07-08 17:15) [11]

нашел выход. может кому интересно будет, всего то надо было надпись отправить на задный план, и уже получаеться что владельцем идентификатора являеться не надпись а сам документ



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

Текущий архив: 2006.06.18;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.012 c
11-1127963931
dvk
2005-09-29 07:18
2006.06.18
KOL+MCK 2.13/ Проблемы с установкой


1-1147086844
yahaha
2006-05-08 15:14
2006.06.18
Отловить события (TWebbrowser)


3-1145617005
Экспериментатор
2006-04-21 14:56
2006.06.18
Есть Query с запросом, научите как получить значение REGS.TypeReg


15-1148657865
AlexanderMS
2006-05-26 19:37
2006.06.18
Интересное задание.


2-1148196813
Belorus
2006-05-21 11:33
2006.06.18
Список процедур в библиотеке





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский