Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 6 ]
- EletsAdm
- сержант
- Неактивен
- Зарегистрирован: 24.11.2010
- Сообщений: 11
Тема: Как при .ClearFormatting сохранить надстрочный и подстрочный шрифты
Есть задача: привести текст созданный разными пользователями (иногда очень странного, даже удивительного, вида) к строго заданному виду. Делаю .ClearFormatting - обязательно по условиям задачи, но, оказалось, встречается надстрочный и подстрочный шрифты, которые стираются при очистке формата. Подскажите пожалуюста, как этого избежать.
- EletsAdm
- сержант
- Неактивен
- Зарегистрирован: 24.11.2010
- Сообщений: 11
Re: Как при .ClearFormatting сохранить надстрочный и подстрочный шрифты
Миль пардон, .ClearFormatting можно избежать, но надстрочный и подстрочный шрифты стираются при удалении начальных и конечных пробелов:
For Each P In ActiveDocument.Paragraphs
With P.Range
If .Start < .End - 1 Then
.MoveEnd wdCharacter, -1
.Text = Trim(.Text)
End If
End With
Next P
Кто может подсказать, как это обойти.
- VBA-addict
- майор
- Неактивен
- Зарегистрирован: 12.10.2010
- Сообщений: 66
Re: Как при .ClearFormatting сохранить надстрочный и подстрочный шрифты
Есть подозрение, что .Text=... в принципе отрубает форматирование...
Поэтому рекоммендация сваять что-то типа поиск и замена
1) Концевые пробелы
^w^p
^p
1) Ведущие пробелы
^p^w
^p
^p Paragraph mark (¶) Символ конца абзаца (¶)
^w Whitespace Любое число и любая комбинация обыкновенных и неразрываемых пробелов, табуляций и концов абзаца
При этом вроде порушится не должно...
Делай, что можешь, и будь, что будет!
- EletsAdm
- сержант
- Неактивен
- Зарегистрирован: 24.11.2010
- Сообщений: 11
Re: Как при .ClearFormatting сохранить надстрочный и подстрочный шрифты
при ^p^w и ^w^p ругается
- EletsAdm
- сержант
- Неактивен
- Зарегистрирован: 24.11.2010
- Сообщений: 11
Re: Как при .ClearFormatting сохранить надстрочный и подстрочный шрифты
Вот так работает:
Dim P As Paragraph
For Each P In ActiveDocument.Paragraphs
If Right(P, 2) = " " & Chr(13) Then
With P.Range
.Collapse Direction:=Word.wdCollapseEnd
.Move Unit:=wdCharacter, Count:=-1
.Delete Unit:=wdCharacter, Count:=-1
End With
End If
If Left(P, 1) = " " Then
With P.Range
.Collapse Direction:=Word.wdCollapseStart
.Delete Unit:=wdCharacter, Count:=1
End With
End If
Next P
- VBA-addict
- майор
- Неактивен
- Зарегистрирован: 12.10.2010
- Сообщений: 66
Re: Как при .ClearFormatting сохранить надстрочный и подстрочный шрифты
EletsAdm пишет:при ^p^w и ^w^p ругается
Это не подстановочные знаки! Эта опция должна быть выключена.
Читать:
внешняя ссылка
EletsAdm пишет:Вот так работает:
Этот вариант будет работать только с пробелами... Если это цель, то ок.
Потому как есть еще табуляция, неразрывные пробелы и т.д. и т.п.
Отредактировано VBA-addict (20.12.2010 14:47:37)
Делай, что можешь, и будь, что будет!
Сообщений [ 6 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Как при .ClearFormatting сохранить надстрочный и подстрочный шрифты
Если говорить о приложениях из офисного пакета, то самая популярная, разумеется, Microsoft Word. Вряд ли в ближайшее время у нее вдруг возникнет серьезный конкурент, который сможет сместить с лидерских позиций. На портале о Microsoft Office Word вы узнаете про: как восстановить вордовский документ преобразование.
Хотя текстовых редакторов много, но, у нас в стране, по крайней мере, Ворд значительно опережает другие. Наш сайт о Microsoft Office Word даст ответ про: применить шаблон к документу.
На сайте, посвященном Microsoft Word, вы найдете множество необходимых сведений, а какие-то проблемы, детали и нюансы можно обсудить на форуме Ворд Эксперт. На портале о Microsoft Office Word вы узнаете про: не работает переход на страницу в word.
Довольно простая и удобная пользователю регистрационная система, которая досконально объяснена в основном разделе, доступный и понятный всем язык общения, хорошая модерация, исключающая спам и флуд, это так сказать общечеловеческие достоинства форума. Наш сайт о Microsoft Office Word даст ответ про: расширение майкрософта ворда на столе.
С точки зрения предмета обсуждения все так же устроено очень разумно. Вопросы, которые приходят на ум большому количеству пользователей, вынесены в главный раздел, а остальным можно обсудить в разделах, посвященных настройкам, редактированию и форматированию текста, шаблонам, а так же автоматизации процесса. Наш сайт о Microsoft Office Word даст ответ про: как в ворде 2007 сделать автоперенос по слогам.
Участникам предложено самим научиться создавать макросы, использовать готовые или оставить заказ. По такому же принципу решаются все остальные вопросы. Наш сайт о Microsoft Office Word даст ответ про: печать серым.
Есть и общие темы, не вошедшие в главные разделы и подфорум, где можно высказать свои пожелания.