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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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