Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2009, 12:48   #1
garik64
Форумчанин
 
Регистрация: 09.07.2009
Сообщений: 111
По умолчанию Глюк Word'а: абзац, который не абзац

Кто-нибудь сталкивался с таким странным глюком: Word 2003 показывает, что в этом месте стоит абзац, а на самом деле его нет? Если включить режим отображения непечатаемых знаков, "абзац" отмечается символом CR, но поиск его не находит. Что там находится на самом деле, непонятно. Если скопировать строку с этим псевдоабзацем в текстовый файл, там обыкновенный пробел (код 20).
garik64 вне форума Ответить с цитированием
Старый 14.07.2009, 16:11   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Что можно сказать? Выделите этот символ, перейдите в редактор VBA, нажмите Ctrl+G и в окне Immediate наберите:
Код:
?AscW(Selection.Characters(1))
После Enter вы получите код этого символа. Дальше смотрим в таблице, что это такое. Скорее всего это глюк при сохранении. Попробуйте скопировать содержимое файла и вставить в новый документ.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 17.07.2009, 10:32   #3
garik64
Форумчанин
 
Регистрация: 09.07.2009
Сообщений: 111
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
Что можно сказать? Выделите этот символ, перейдите в редактор VBA, нажмите Ctrl+G и в окне Immediate наберите:
Код:
?AscW(Selection.Characters(1))
После Enter вы получите код этого символа. Дальше смотрим в таблице, что это такое. Скорее всего это глюк при сохранении. Попробуйте скопировать содержимое файла и вставить в новый документ.
Так ведь "13"! Но поиск "^p" его не видит. Если искать "^13" - находит. Непонятная штука (а я использую кучу макросов, где поиск именно по "^p"). Вот, прицепил кусочек документа с тремя "^13" в конце, два из которых отзываются на "^p". А если скопировать их в текстовый файл и посмотреть коды - увидим 20 0D 0A 0D 0A, то есть пробел и два энтера.

И - нет, возникает не при сохранении. Непонятно вообще, когда и как.
Вложения
Тип файла: doc абзац без абзаца.doc (50.0 Кб, 26 просмотров)
garik64 вне форума Ответить с цитированием
Старый 17.07.2009, 10:57   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от garik64 Посмотреть сообщение
…а я использую кучу макросов, где поиск именно по "^p"). …
А это принципиально?

Посмотрел я этот документ. Вот что можно сказать:
Код:
?ActiveDocument.Paragraphs.Count
 2 
?ActiveDocument.Range.ComputeStatistics(wdStatisticLines)
 3
Абзацев в документе два, а видим три. Строк в документе три, а видим четыре. Как говорил Козьма Прутков: «Не верь глазам своим!»
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 17.07.2009, 11:34   #5
garik64
Форумчанин
 
Регистрация: 09.07.2009
Сообщений: 111
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
А это принципиально?
Один раз этот глюк довёл меня почти до увольнения. Очень сложный документ готовился очень сложными макросами. Так вот по абзацу определялось, что и как вставлять в таблицу. Случился глюк, документ перекосило до полной нечитабельности. И в таком виде он попал на стол одному ооооооооооочень высокосидящему клиенту. Из первой десятки страны, так сказать.

В общем, это непонятно, а раз непонятно, то и непредсказуемо. Чёрт его знает, когда этот глюк объявится и что наворотит. А в остальном - ничего, жить можно.

Цитата:
Как говорил Козьма Прутков: «Не верь глазам своим!»
Вот и не верю. На клетке слона написано "буйвол", ага.
garik64 вне форума Ответить с цитированием
Старый 17.07.2009, 11:54   #6
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Я имел в виду, почему вместо ^p не использовать ^13? Это же ничего не поменяет.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 17.07.2009, 12:26   #7
garik64
Форумчанин
 
Регистрация: 09.07.2009
Сообщений: 111
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
Я имел в виду, почему вместо ^p не использовать ^13? Это же ничего не поменяет.
Да в своих-то макросах я уже заменил. А вот в чужих... Да ещё некоторые защищены.
garik64 вне форума Ответить с цитированием
Старый 17.07.2009, 12:46   #8
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Продолжаем эксперименты.
В диалоге «Найти и Заменить»:
Найти: ^13
Заменить: ^13
Пишет, что произведено три замены. Если для «Найти» использовать ^p, то скажет, что сделал 2 замены, но результат будет тот же.
В итоге из исходного документа, где было два абзаца, а видно три, получаем:
Код:
?ActiveDocument.Paragraphs.Count
 1
а видим 4!
Глюк! К бабке не ходить.

Кстати, все знаки ¶ распознаются как символы и входят в коллекцию Characters
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 17.07.2009 в 12:50.
viter.alex вне форума Ответить с цитированием
Старый 18.07.2009, 19:18   #9
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Есть несколько вопросов:
  1. Как часто проявляется такое чудо?
  2. Только в этом документе, или и в других тоже.
  3. Как был создан документ? Из шаблона, или копипастом из вэбстраницы или конвертированием из WordPerfect?
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 19.07.2009, 13:07   #10
garik64
Форумчанин
 
Регистрация: 09.07.2009
Сообщений: 111
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
Есть несколько вопросов:

Как часто проявляется такое чудо?
Ну вот смотрите: вопрос я задал 14-го июля, а пример привёл 17-го: ждал, пока попадётся. Стало быть, пару раз в неделю сталкиваюсь. А это полтора десятка документов, каждый их которых - результат сведения в один текст 20-25 других текстов.

Цитата:
Только в этом документе, или и в других тоже.
В разных.

Цитата:
Как был создан документ? Из шаблона, или копипастом из вэбстраницы или конвертированием из WordPerfect?
Не знаю. Я работаю с документами, которые созданы копипастом из других документов, которые, в свою очередь, копипаст из интернета, из ворда, из ASCII текста и экспорт из OpenOffice. Там такая цепочка, которую не отследишь.

Конкретно этот - копипаст из вордовского документа. А уж при каких обстоятельствах в него попало...

Я к тому, что мне ни разу не удалось воспроизвести ни сам этот глюк, ни ситуацию его появления.
garik64 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
запрос который бы подсчитывал количество полных лет начиная с того года который указан в данных мне базах PereCCC Помощь студентам 8 15.05.2008 16:24
глюк с rvsystem ГОСЕАН БД в Delphi 2 26.01.2008 22:42
Глюк )) theos О форуме и сайтах клуба 9 08.01.2008 17:44
Прочитать текст из Word'а NeBrit Microsoft Office Word 2 09.12.2007 12:48
Как работать с DOC без Word'а ? Marat_TS Софт 1 15.04.2007 08:52