Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VBA MS Office

Программирования для MS Office кроме ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Поиск по спецсимволу в макросе
 
 автор: lvm   (15.09.2008 в 12:24)   личное сообщение
 
 

Доброго времени суток.

Понадобилось мне в WORDе осуществить поиск в макросе по спецсимволу. В кодировке ДОС этот символ имеет код 196. Это один из тех что были придуманы для рисования табличек в ДОСе.
Сам WORD отображает эти символы. Путем нажатия Alt и набора на цифровой клавиатуре также рисует его правильно. Но дальше - никак.
Даю в параметре поиска Chr(196) - не находит. Решил определить код в макросе, считывая текущий символ:
Selection.TypeText Text:=Str(Asc(Selection.Characters(1).Text))
Пишет число 45. Это код тире. Соответственно если набрать Alt+45, отображает тире.
Если распечатать это символ:
Selection.TypeText Text:=Chr(196)
выдаёт кракозябру, похожую на "А".
Понятно, что у WORDа с этими кодами концы с концами не сходятся, но может все-таки можно как-нибудь это обойти?
Я сумел получить правильный символ в макросе только путем считывания из текущей позиции:
St = Selection.Characters(1).Text
Но это во многих случаях неприменимо, или неудобно, так как перед запуском макроса нужно установить курсор в позицию с нужным символом.

Поделитесь, если кто решил аналогичную проблему.

  Ответить  
 
 автор: час   (15.09.2008 в 16:43)   личное сообщение
 
 

А запись макросов тебе не поможет.
Если записаь макрос - сделав поиск вручную...........

  Ответить  
 
 автор: Lvm   (16.09.2008 в 04:15)   личное сообщение
 
 

Неа, в строку поиска этот символ тоже не удаётся записать: Alt+196 - кракозябра.

  Ответить  
 
 автор: ДрЮня   (16.09.2008 в 07:53)   личное сообщение
 
 

а такой вопрос - зачем это ?
просто нарисовать таблицу никак ?

  Ответить  
 
 автор: Lvm   (16.09.2008 в 12:37)   личное сообщение
 
 

Мне её не нарисовать надо, а похерить.
ДОСовская программа выдает текстовый файл отчета. Файл этот открываем в Ворде и чистим от всякого мусора, в том числе и от псевдосимволов.
Ну и бывали другие случаи, когда нужно было производить поиск по спецсимволам...

  Ответить  
 
 автор: час   (16.09.2008 в 15:53)   личное сообщение
 
 

Круто.
А читать из файла и сразу создавать чистый отчёт или rtf файл не получиться?
Или текстовый txt файл , или сложить в таблицу access , а затем печатать по мере необходимости.....
А что там за dos файл - если не секретная инфа - может сюда положете.
Или Вы хотите сам во всём разобраться и сделать всё по своему????????????

  Ответить  
 
 автор: Lvm   (17.09.2008 в 04:36)   личное сообщение
 
 

Да, ничё особенного.
У финансистов есть старая досовская БД. Выдаёт она файл отчета - простой текстовый, предназначенный для печати, и больше ни для чего. Финансистам надо поиметь его в Екселе чтобы дальше свои цифирки считать.
В файле том псевдосимволами табличка разрисована, ну и еще есть всякая мура (разбита она на части с заголовками и пр.) Сверхзадача: табличку эту в чистом виде перетарабанить в Ексель. Как это напрямую сделать - не соображу даже приблизительно. Поэтому открываю её в Ворде, чищу, преобразую в вордовскую таблицу и копирую в Ексель. Преобразования в Ворде легко автоматизируются, только вот с псевдосимволами закавыка. Захотелось мне ясность внести, почему Ворд отображать их может, а искать по ним - никак.
Подумал, может знает кто секрет...

  Ответить  
 
 автор: час   (17.09.2008 в 10:45)   личное сообщение
 
 

Ясненько!!!
Связано с кодировками....
Переключить на dos кодировку ...............
Тогда вообще ни слова не поймёшь.... ......

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList