Новости:

Интересные и полезные статьи по работе с Excel и VBA
можно найти в разделе ХИТРОСТИ

Главное меню

замена текста в кодах полей Word

Автор krosav4igkrosav4ig, 03.06.2014, 23:29:07

« назад - далее »

krosav4igkrosav4ig

Здравствуйте. У меня возникла проблема при замене текста в кодах полей Word. Возникает она только при замене во вложенных полях. Прикладываю файлы. помогите пожалуйста разобраться в чем ошибка и как исправить.

Дмитрий Щербаков(The_Prist)

#1
.Item(i).Update
не пробовали? Или не то?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

krosav4igkrosav4ig

дело в том, что в поле вот такой код {IF "Первый" = "Второй" "Да" "{IF "Первый" = "Третий" "Да" "{IF "Первый" = "Четвертый" "Да" "{IF "Первый" = "Пятый" "Да" "Нет"}"}"}"}, т.е. он состоит из нескольких полей вложенных друг в друга. после замены текста становится таким {IF "Третий" = "Второй" "Да""!!IF "Третий" = "Третий" "Да" "!!IF "Третий" = "Четвертый" "Да""!!IF "Третий" = "Пятый" "Да" "Нет" " " "} (после "Нет" между кавычками символ ^0021)  и естественно не вычисляется так как это нужно

Дмитрий Щербаков(The_Prist)

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

krosav4igkrosav4ig

#4
такие вложенные поля синтаксисом допускаются и до выполнения макроса правильно вычисляются (при ручной замене текста тоже). на самом деле замены текста макросом получаются не восклицательные знаки, а символ ^0019.
Я редактировал свой предыдущий пост дописывал про восклицательные знаки, но почему-то не сохранилось. При поиске по документу символа  ^0019 выделяется все первое поле. Получается что этот символ является открывающей скобкой поля? Найти далее выделяет следующее поле, или если в первом есть вложенные поля, то выделяет первое вложенное поле в выделенном поле. Вопрос. Есть ли какой-нибудь способ преобразовать символы ^0019 и ^0021 в скобки полей.

Яндекс.Метрика Рейтинг@Mail.ru