Текущее время: Ср, май 14 2025, 06:54

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: про WORD и метод Find
СообщениеДобавлено: Чт, май 26 2005, 11:14 
Гость
Проблема: запустил WORD через ОЛЕ, вывел данные, а теперь надо заменить слово "@txt-1@" на свои текст(пусть будет "replace").
...
GET PROPERTY OF gs_word 'ActiveDocument' = gs_actdoc.
GET PROPERTY OF gs_actdoc 'Content' = gs_actdoccont.
GET PROPERTY OF gs_actdoccont 'Find' = gs_find.

CALL METHOD OF gs_find 'EXECUTE'
EXPORTING
#1 = '@txt-1@' "что меняем
#10 = 'replace' "на что меняем
#11 = 2. "во всем тексте
но не работает, где ошибка? подскажите плиз!


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 26 2005, 12:06 
Гость
попробуй указывать номер строки для поиска


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 26 2005, 12:09 
Гость
посмотри, что у тебя возвращается в переменную execute
data: execute TYPE ole2_object.
CALL METHOD OF gs_find 'EXECUTE' = execute
EXPORTING
#1 = '@txt-1@' "что меняем
#10 = 'replace' "на что меняем
#11 = 2. "во всем тексте
if execute IS INITIAL
.....
endif.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 26 2005, 12:20 
Гость
Решение оказалось таким:
CALL METHOD OF gs_find 'EXECUTE'
EXPORTING
#1 = '@text' "FindString
#2 = 0 "MatchCase
#3 = 1 "MatchWholeWord
#4 = 0 "MatchWildcards
#5 = 0 "MatchSoundsLike
#6 = 0 "MatchAllWordForms
#7 = 1 "Forward
#8 = 1 "Wrap /wdFindContinue
#9 = 0 "Format
#10 = 'replace' "ReplaceWith
#11 = 2 "Replace /wdReplaceAll
#12 = 0 "MatchKashida
#13 = 0 "MatchDiacritics
#14 = 0 "MatchAlefHamza
#15 = 0. "MatchControl
Т.е. после заполнения всех свойств все заработало. Спасибо.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 26 2005, 13:21 
Гость
Я бы рекомендовал параметр #3 MatchWholeWord заменить на False (т.е. #3 = 0), для скорости добавить NO FLUSH, предварительно выставив SET PROPERTY OF WORD 'Visible' = 0 и вернув в 1 перед показом.
P.S. Передачу параметров #12 - #15 можно закоментировать, отработает и так


Последний раз редактировалось Stenj_90 Чт, май 26 2005, 14:48, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения: Есть пример
СообщениеДобавлено: Чт, май 26 2005, 13:35 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Можешь посмотреть пример в модуле ZWWW_OpenForm, если скачаешь из этой темы.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 26 2005, 14:16 
Гость
после "NO FLASH" все летает, спасибо....


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:   Тема решена
СообщениеДобавлено: Чт, май 26 2005, 14:47 
Гость
Дополнение 'NO FLUSH' к CALL METHOD OF, GET PROPERTY, SET PROPERTY . Смысл в том, что накапливается список команд и выполняется при вызове ФМ 'FLUSH' или выполнении команды без 'NO FLUSH'. Но тогда теряет смысл SY-SUBRC после вызова CALL METHOD OF, GET PROPERTY, SET PROPERTY (всегда 0). Иногда приходится для скорости экспериметрировать с Visible


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 26 2005, 14:57 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Stenj_90 написал(а):
Дополнение 'NO FLUSH' к CALL METHOD OF, GET PROPERTY, SET PROPERTY . Смысл в том, что накапливается список команд и выполняется при вызове ФМ 'FLUSH' или выполнении команды без 'NO FLUSH'. Но тогда теряет смысл SY-SUBRC после вызова CALL METHOD OF, GET PROPERTY, SET PROPERTY (всегда 0). Иногда приходится для скорости экспериметрировать с Visible


Я что-то протупил сначала, потом понял и стёр вопрос..
Подумал, что речь идёт о каком-то вордовом параметре/свойстве/методе. Я с вордом через OLE не работаю, не было необходимости :) Причём как правило сразу прячу объект до полного заполнения. А тут как я понял он на некоторое время переводится в visible?

PS Упс, уже поправлено :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 26 2005, 15:03 
Гость
Самое прикольное, что при работе в Excel по какой-то причине все работает намного быстрее при 'Visible' = 1, а при работе с Word - 'Visible' = 0 :) Но это конкретно у меня, но на разных машинах с Office 2000, Office XP, Office 2003, английскими и русскими. Поэтому рекомендаций давать не буду, просто сообщу о такой фиче :)


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 26 2005, 15:07 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Stenj_90 написал(а):
Самое прикольное, что при работе в Excel по какой-то причине все работает намного быстрее при 'Visible' = 1, а при работе с Word - 'Visible' = 0 :) Но это конкретно у меня, но на разных машинах с Office 2000, Office XP, Office 2003, английскими и русскими. Поэтому рекомендаций давать не буду :)


Ну вообще, скрытие до заполнения ещё и эстетическую сторону имеет. Но у меня и скорость повыше выходит..


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB