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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2009, 13:09   #11
vavilas
Пользователь
 
Регистрация: 09.02.2009
Сообщений: 11
По умолчанию

Большое спасибо, ваша ссылка помогла. Разобрал свой пример. Все предельно ясно. Не нашел только как служебный символ " использовать в замене, то есть на какой код заменяется кавычка?
Мне, например, необходимо вставить заменяющий текст <p align="justify">
только вот макрос не дает это сделать. Кавычка служебный символ
vavilas вне форума Ответить с цитированием
Старый 10.02.2009, 13:17   #12
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от vavilas Посмотреть сообщение
Большое спасибо, ваша ссылка помогла. Разобрал свой пример. Все предельно ясно. Не нашел только как служебный символ " использовать в замене, то есть на какой код заменяется кавычка?
Мне, например, необходимо вставить заменяющий текст <p align="justify">
только вот макрос не дает это сделать. Кавычка служебный символ
Чтобы ввести служебный символ как текст, можно либо использовать код этого символа, который можно узнать из «Таблицы символов», которая есть в любой (почти) системе Windows; либо вставив перед этим символом «\» (backslash)

P.S. На том ресурсе все это написано.

P.P.S. Кавычка вводится как ^0022, либо «\"»
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 10.02.2009 в 13:24. Причина: Добавил картинку с таблицей символов
viter.alex вне форума Ответить с цитированием
Старый 10.02.2009, 13:26   #13
vavilas
Пользователь
 
Регистрация: 09.02.2009
Сообщений: 11
По умолчанию

К сожалению, оба варианта не подходят.
код кавычки
Код:
"
она мне и заменяется в тексте как 5 символов
а обратный слеш останавливает макрос
пробовал и так
"<p class=\"text\">"
и так
"<p class=\"\text\"\>"


html даже не дает записать этот код, он понимает этот код, состоящий из 5 знаков как кавычку
^0022 отображает как квадрат, блин...

Последний раз редактировалось vavilas; 10.02.2009 в 13:37.
vavilas вне форума Ответить с цитированием
Старый 10.02.2009, 13:30   #14
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Я забыл, что ты макросом меняешь . Перед каждой кавычкой поставь еще одну. Т.е. <p align="justify"> в код нужно записать так: "<p align=""justify"">". Это правила синтаксиса в VBA

А то, что я раньше писал, это для интерактивного поиска, при помощи диалога.

P.S. Попробовал макрорекордером записать эту строку, так и записало, как я сказал: "<p align=""justify"">"
Лучше день потерять — потом за пять минут долететь!©

Последний раз редактировалось viter.alex; 10.02.2009 в 13:42.
viter.alex вне форума Ответить с цитированием
Старый 10.02.2009, 13:56   #15
vavilas
Пользователь
 
Регистрация: 09.02.2009
Сообщений: 11
По умолчанию

да теперь все меняется, но кавычки боковые, а не верхние. Не знаю, как html будет ли их различать или ему все равно
vavilas вне форума Ответить с цитированием
Старый 10.02.2009, 14:13   #16
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от vavilas Посмотреть сообщение
да теперь все меняется, но кавычки боковые, а не верхние. Не знаю, как html будет ли их различать или ему все равно
Ему не все равно, ведь коды у этих знаков разные. У прямой, или дюймовой, кавычки код 0022, а у левой угловой — 0171, у правой — 0187
Отмени автозамену прямых кавычек "" на угловые «»
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 10.02.2009, 17:16   #17
vavilas
Пользователь
 
Регистрация: 09.02.2009
Сообщений: 11
По умолчанию

Блин, лошара (я в смысле).
Такая мысля проскакивала, что в автозамене стоит "заменять прямые кавычки парными", но я не придал ей значение, чем лишний раз вас потревожил.
Еще раз спасибо, тема закрыта.
vavilas вне форума Ответить с цитированием
Старый 10.02.2009, 17:18   #18
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Цитата:
Сообщение от vavilas Посмотреть сообщение
Блин, лошара (я в смысле).
Такая мысля проскакивала, что в автозамене стоит "заменять прямые кавычки парными", но я не придал ей значение, чем лишний раз вас потревожил.
Еще раз спасибо, тема закрыта.
К сожалению, закрыть эту тему (форматирования) невозможно. Она вечна
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 26.02.2009, 12:37   #19
Deler85
 
Регистрация: 26.02.2009
Сообщений: 3
По умолчанию

Цитата:
Сообщение от viter.alex Посмотреть сообщение
К сожалению, закрыть эту тему (форматирования) невозможно. Она вечна
Ну если не возможно) давай те продолжим.
У меня тоже подобные вопросы есть.

Очень помог первый макрос спасибо. НО хочеться его доработать, он не совсем коректно обрабатывает списки. Например

"<p>однажды в студеную зимнюю пору</p>
1 <p> из лесу вышел </p>
2 <p> вечерело </p>"

то есть не включает нумерацию списка, как включить 1 и 2 в абзац?
Deler85 вне форума Ответить с цитированием
Старый 26.02.2009, 15:12   #20
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Вот так это можно сделать. Ищет только целые абзацы. Если абзац является списком, то номер учитывается. Пробуйте. А что, других средств конвертить в html нет? Вообще-то, для списков нужно делать <ol> или <ul>
Код:
Sub ReplaceIncludingListNumbers()
  Application.ScreenUpdating = False
  Dim rs As String
  rs = "<h2>\1</h2>\2"
  Selection.HomeKey wdStory
  With Selection.Find
    .ClearFormatting
    .Replacement.ClearFormatting
    .Text = "(<[A-Za-zА-яЁё]@*)(^0013)"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = True
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = True
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    While .Execute
      .Execute replacewith:=Replace(rs, "\1", .Parent.Range.ListFormat.ListString & " " & "\1"), Replace:=wdReplaceOne
      Selection.Collapse wdCollapseEnd
    Wend
  End With
  Application.ScreenUpdating = True: Application.ScreenRefresh
End Sub
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
форматирование текста с помощью CFontDialog TiLKiSS Общие вопросы C/C++ 5 27.12.2008 21:48
Форматирование текста MAcK Общие вопросы Delphi 3 03.04.2008 11:38
Форматирование текста в RichEdit. Air Общие вопросы Delphi 2 03.03.2008 15:15
Форматирование текста rusif Помощь студентам 1 17.12.2007 22:28
Форматирование текста в Delphi Кириллл Общие вопросы Delphi 3 05.06.2007 14:16