1

Тема: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

Здравствуйте!

Я занимаюсь размещением статей на одном новостном сайте.
Новости в основном приходят в формте Word.
Я пользуюсь MS Office 97  cool

Попробовал автоматизировать работу с помощью отдельных макросов, но эффективность выросла не очень заметно.

Вот перечень, самых частых операций, которые я выполняю и, которые было бы не плохо объединить в одном макросе:

Процедура подготовки текстов в формате Word для публикации их на сайте (с применением bb-подобных кодов)

Расстановка абзацев.
Все одиночные абзацы, группы абзацев (с кол-вом более 2-х), одиночные переносы строк и группы переносов строк заменяются на группы абзацев из двух символов абзаца.

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

Тегирование полужирного текста
Все фрагменты текста оформленные полужирным шрифтом берутся в теги

[b]

- в начале фрагмента и

[/b]

– в конце фрагмента соответственно. (Теги можно выделить цветом).

Тегирование наклонного текста
Все фрагменты текста оформленные наклонным шрифтом берутся в теги

[i]

– в начале фрагмента и

[/i]

– в конце фрагмента соответственно. (Теги можно выделить цветом).

Тегирование активных гиперссылок
Все гиперссылки вида Ссылка тегируются следующим образом:

[url=http://www.hyperlink.in.ua/]Ссылка[/url]

Тегирование неактивных (текстовых) ссылок
Весь текст вида intel.com, www.yandex.ru тегируется следующим образом (в начале url-адреса добавляется часть строки в виде http:// или http://www. по необходимости):

[url=http://intel.com]intel.com[/url], [url=http://www.yandex.ru]www.yandex.ru[/url]

Так же часто приходиться обрабатывать html-код: заменять html-теги на bb-коды

 (типа <strong> и <b> на [b], <em> и <i> на [i], <a href=""> на [url= ] и удаление различных <span>, <br> и прочих)

...

Я даже взялся читать книги по VB, и изучать примеры макросов, так как подумал, что это должно быть не слишком сложно, но, кажется я ошибался  smile

Например, мне не удалось найти макрос, в котором можно было бы "подсмотреть" как найти в тексте документа не какой-то определенный образец, а произвольный фрагмент текста отформатированного определенным образом.

Хотел даже "расковырять" вот этот макрос http://wordexpert.ru/page/makros-konver … sta-v-html, но он не хочет запускаться и каким-то образом защищен от "вмешательств из вне".

Можно мне как-нибудь помочь?

2

Re: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

Хо-хо!

Для начала, уже хорошо: http://wordexpert.ru/page/ispolzovanie- … -redaktora

3

Re: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

Поищите на сайте еще про лишние пробелы - много было информации об этом.

4

Re: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

Уже нашел про пробелы.

5

Re: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

Вам скорее должны помочь поиск и замена с использованием подстановочных знаков, (которые можно записать как макрос, используя автоматическую запись макроса).
Скажем, чтобы обрамить полужирный шрифт тэгами, нужно нажать

ctrl+H

1) установить курсов в поле поиск, нажать

ctrl+b

, 2) в поле заменить ввести

[b]^&[/b]

, 3) отметить значок "подстановочные знаки" 4) нажать "заменить все". Аналогично с курсивом. В общем не вижу проблемы добиться обработки всего, что Вам нужно, нажатием одной клавиши.

Отредактировано Денис (21.02.2010 00:42:27)

6

Re: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

Спасибо!
Как раз сегодня пересмотрел статью внешняя ссылка
и разобрался с абзацами, пробелами, полужирным и курсивом.

Но, вот, при редактировании html-кода, не знаю какую использовать "маску" в поле "найти", для нахождения всех вхождений

<span с разными параметрами>

.

И еще бы разобраться с ссылками, т.к. они больше всего времени отнимают.
Я кое-как записал "полу-макрос", который обрамляет текст сслыки тегами

[url=http...]ссылка[/url]

, но для этого все равно сначала нужно через правый клик сделать "Изменить ссылку" и копировать ее из поля... хотя она почему-то не всегда там есть  sad

Еще немножко погляжу на тексты макросов и попробую все замены реализовать с помощью одного-двух макросов.

И вот, еще, что: где можно найти все возможные коды символов типа ^0013 и т.п. Например, для квадратных скобок не знаю, где взять.

7

Re: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

И вот, еще, что: где можно найти все возможные коды символов типа ^0013 и т.п. Например, для квадратных скобок не знаю, где взять.

Коды символов - это коды ASCII. Их можно узнать, например, в справке VBAа, набрав поисковый запрос: Character Set. Там будет две таблицы - от 0 до 127 и от 128 до 255 симоволов.
Кроме того, еще раз внимательно прочитайте статью С.Хозяинова: Специальные символы и подстановочные знаки в операциях поиска и замены Microsoft Word 97, на которую вы ссылаетесь; там приведены и коды, и обозначения.

8

Re: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

Денис пишет:

...3) отметить значок "подстановочные знаки" ...

а вот это - лишнее (MS Word97). После этого действия кнопки "Заменить" и "Заменить все" деактивируются (наверное, потому, что поле "Найти" остаётся незаполненным).

Подскажите, пожалуйста, как можно провести аналогичную операцию, но для текста определённого цвета?
Например, красного.
Т.е., что нужно указать в поле "Найти", чтобы найти текст, набранный шрифтом красного цвета?

9

Re: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

Нужно указать формат шрифта

Лучше день потерять — потом за пять минут долететь!

10

Re: Обработка текстов (тегирование, расстановка символов абзаца и т.п.)

viter.alex пишет:

Нужно указать формат шрифта

Вот спасибо!

*заработался совсем. очевидных вещей уже не вижу*