Статьи из блога

Статьи из блога

Использование Word в качестве HTML-редактора

Рубрика: Макросы, Стили и форматирование
Метки: |
Среда, 12 марта 2008 г.
Просмотров: 8723
Подписаться на комментарии по RSS
Версия для печати

[Ссылки на статью]

Один из читателей сайта WordExpert.ru задал вопрос:

Можно ли использовать редактор Word как HTML-редактор, с возможностью просмотра получаемого кода?

На мой взгляд, Word можно использовать как HTML-редактор, но вот просмотреть получающийся код в нем не удастся. Все-таки это текстовый редактор.

Тем не менее, я расскажу об одном способе (для Word 2003), который может заинтересовать тех пользователей, которые сначала печатают текст в редакторе, а затем выделяют и вставляют его, например, в свои блоги. И уже в админпанели блога они форматируют текст, вставляя в нужные места соответствующие теги HTML.

 

Я предлагаю создать собственную панель инструментов с кнопками для часто используемых HTML-тегов, таких как <B> или <STRONG>, <BR>, <UL> и других. После того, как эти кнопки будут готовы, пользователю достаточно будет выделить нужный текст (ранее введенный), и применить к нему тот или иной тег. В результате перед началом выделенного текста и в его конце будут вставлены соответствующие HTML-теги.

Если ничего выделено, то в место нахождения курсора ввода просто будет вставлен тег. Удобство такого способа в том, что не нужно одновременно печатать текст и форматировать его - форматирование можно отложить на потом.

 

Итак, для начала я рекомендую вам создать пустой документ и сохранить его как шаблон, на основе которого впоследствии вы будете создавать свои тексты с HTML-кодами. После этого создадим собственную панель инструментов. Как это сделать, описано в заметке Как создать собственную панель инструментов.

  • Откройте редактор Visual Basic («Alt»+«F11»), найдите в окне проектов ваш проект (с именем вашего шаблона) и добавьте к нему модуль для макросов. Добавить модуль можно так: щелкните правой кнопкой мыши на имени проекта и в раскрывшемся меню наведите указатель мыши на пункт Insert, а уже в подменю выберите команду Module. В итоге будет создан новый модуль Module1.
  • Перейдите в окно кода и введите следующий код:

    Sub htmlStrong()
    'Вставка тега жирного шрифта
    Dim str1 As String
    Dim str2 As String
    Dim selText As String
    str1 = "<STRONG>" 'Открывающий тег
    str2 = "</STRONG>"   'Закрывающий тег
    selText = Selection.Text   'Выделенный текст
    If selText <> "" Then
       With Selection
          .TypeText (str1)
          .TypeText (selText)
          .TypeText (str2)
       End With
    Else
       Selection.TypeText (str1 & str2)
    End If
    End Sub
  • Повторите вставку этого кода для других тегов, которые вам нужны, изменив соответственно значения переменных str1 и str2.

Теперь разместите кнопки этих макросов на созданной вами панели инструментов. Как это сделать, описано в заметке Как настроить Word под себя.

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

 

На создание этой заметки вдохновила статья Introduction to VBA for MS Word.

 

Если вы не знаете, как подключить к документу и применить этот макрос, изучите следующие заметки с сайта:

Автоматическая запись макроса

Создание макроса из готового кода

twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru rutvit.ru myspace.com technorati.com digg.com friendfeed.com pikabu.ru blogger.com liveinternet.ru livejournal.ru memori.ru google.com bobrdobr.ru mister-wong.ru yahoo.com yandex.ru del.icio.us

Еще записи по вопросам использования Microsoft Word:

Комментариев: 4

  1. Оксана
    14.03.2008 в 09:40 | #1

    Я как раз отношусь к тем людям кто сперва печатает текст в ворде, а потом вставляет его на своих сайтах, спасибо за эту примочку, очень облегчает работу.

  2. Neych
    14.03.2008 в 10:44 | #2

    Это, конечно, сильно облегчает работу. Тоже часто пользуюсь такой возможностью

  3. Марат Бакиров
    15.08.2008 в 09:07 | #3

    А не проще ли так:

    TextOrig = Selection

    TextTag = "b" 'Если много тегов, то просто достаточно менять символ тут

    TextOpen = "[" & TextTag & "]"

    TextClose = "[/" & TextTag & "]"

    TextCompl = TextOpen & TextOrig & TextClose

    Selection.TypeText (TextCompl)

  4. serg
    26.08.2008 в 12:32 | #4

    подскажите почему так.При открытии html страницы в которой есть поля типа , вместо этих полей отображаются белый квадрат с красным крестом. В word 2000, такой проблемы нет. И ещё не даёт вставить веб-компанент "поле" в веб-документ, ругается что "Данный объект был создан в Forms. Не удалось вызвать это приложение для открытия объекта...."

Оставьте комментарий!

(обязательно)

^ Наверх