Консультация № 171893
04.09.2009, 10:51
0.00 руб.
0 4 1
Уважаемые эксперты подскажите, пожалуйста, почему при замене слов когда указано в коде, например АК заменить на
авто, заменяет на АВТО, то есть заменяет верно, но с регистром несоответствие, как избежать это, пример кода:

Dim Искомое_слово(3) As String
Dim Слово_для_замены(3) As String

Искомое_слово(1) = "АК": Слово_для_замены(1) = "авто "
Искомое_слово(2) = "АХЧ": Слово_для_замены(2) = "автомаш "
Искомое_слово(3) = "АРТ": Слово_для_замены(3) = "автомашина "

For i = 1 To 3
With ActiveDocument.Bookmarks("Ф").Range.Find 'поиск в определённом месте, в содержимом закладки, начинаем поиск
'задаем условия поиска, это стандартная процедура
.Text = Искомое_слово(i) 'искомое слово
.Replacement.Text = Слово_для_замены(i) 'слово для замены ...
.Replacement.Font.Color = wdColorPink 'цвет ... слова для замены
.Execute Replace:=wdReplaceAll
End With
Next

Спасибо Эндрю

Обсуждение

Неизвестный
04.09.2009, 16:08
общий
Подобная проблема у меня возникала при сохранении файла в Borland Pascal версии 7.0. Имена сохраняемых на диск файлов преобразовались в прописные (большие) буквы, хотя в программе были указаны строчные (маленькие).
Присоединяюсь к вопросу Эндрю Ципиховича: как избежать этого преобразования?
Неизвестный
05.09.2009, 13:09
общий
это ответ
Здравствуйте, Ципихович Эндрю.

Добавьте к вызову метода Execute параметр MatchCase:=true, т.е. вызов для приведенного вами кода должен выглядеть так:
Код:
...
.Replacement.Font.Color = wdColorPink 'цвет ... слова для замены
.Execute Replace:=wdReplaceAll, MatchCase:=true
End With
...
Неизвестный
05.09.2009, 13:12
общий
Гуревич Александр Львович:
Ваш вопрос несколько из другой оперы . DOS, а соответственно и Borland Pascal 7, вообще-то умеет работать только с такими именами.
Неизвестный
06.09.2009, 09:50
общий
Тимошенко Дмитрий:
Благодарю, Дмитрий :)
Форма ответа