Как сделать перенос слов в Ворде

Как сделать перенос слов в Ворде
Как сделать перенос слов в Ворде

Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Сообщений [ 4 ]

1 Тема от iasmer 08.02.2014 08:33:36

Тема: VBA: как удалить лишние пробелы

Возможно, кто-то укажет аналог WorksheetFunction.Trim Экселя в VBA Ворда (т.е. удаление всех лишних пробелов слева - права - множественных внутри текста)?

пока пользую следующую конструкцию:

        SAY = Replace(Trim(SAY), "   ", " ", 1, -1, 1)      ' в экселе 2 строки заменить на
        SAY = Replace(SAY, "  ", " ", 1, -1, 1)             ' SAY = Worksheetfunction.Trim(SAY)

2 Ответ от aap77 09.02.2014 21:57:08

Re: VBA: как удалить лишние пробелы

В Word тоже самое:

s = " Word " s = Trim(s) ' Результат "Word"

3 Ответ от iasmer 10.02.2014 09:38:53

Re: VBA: как удалить лишние пробелы

Спасибо за Ваш ответ. Я вероятно плохо раскрыл вопрос. Повторюсь. В экселе есть 2 варианта Трима 1 - Trim() в VBA; 2 - Worksheetfunction.Trim(). Различаются тем, что 1-й отсекает пробелы слва-права (как в Вашем примере), 2-й (функция листа экселя, в рус. нотации =СЖПРОБЕЛЫ()) - обрабатывает повторы пробелов внутри текста, оставляя одинарные.
Вопрос был о наличии/отсутствии в VBA Ворда 2-го варианта функции.
Можно и цикл написать, но исходно не верилось, что в Экселе 1 оператор, а в Ворде - 6

Excel:

s = Worksheetfunction.Trim(s)

Word:

s = trmi(s)
1:
if instr(1,s,"  ",1) then
   s = Replace(s, "  ", " ", 1, -1, 1)
   goto 1
endif

4 Ответ от aap77 10.02.2014 10:41:50

Re: VBA: как удалить лишние пробелы

Изначально Word использует только функции встоенные в VBA. У него нет личных функций, как у Excel. Функция СЖПРОБЕЛЫ() на самом деле это не один оператор, а процедура содержащая также кучу операторов. Что могу посоветовать.
1. Откройте редактор VBA в Word.
2. Выберете шаблон Normal.
3. Вставьте в него модуль и назовите его WordFunctions.
4. Вставьте в него макрос:

Sub Trim() ' ' Удаление пробелов ' Selection.WholeStory Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = _ "([!^0032^0160])([^0032^0160])([^0032^0160]{1;})([!^0032^0160])" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "([!^0032^0160])([^0032^0160]{1;})([^0013])" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll With Selection.Find .Text = "([^0013])([^0032^0160]{1;})([!^0032^0160])" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll End Sub

5. Сохранитесь.
Теперь можете в своих кодах писать:

WordFunctions.Trim

Далее в модуль WordFunctions можно будет добавлять другие функции и процедуры, а потом обращаться к ним.
Excel построен по томуже принципу, только разработчики заранее внедрили в него объект Worksheetfunction, с кучей  дополнительных функций.

Сообщений [ 4 ]

Страницы 1

Чтобы отправить ответ, вы должны войти или зарегистрироваться

Похожие темы

VBA: как удалить лишние пробелы

Любую работу можно сделать несколькими различными способами. В силах человека выбрать наиболее удобный для себя, оптимальный и рациональный. Наш сайт о Microsoft Office Word даст ответ про: как word убрать символ абзац. Если говорить о работе с текстами: написании рефератов, дипломов, статей, редактировании различных документов и оформлении презентаций, то Microsoft Word дает массу возможностей для этого. Наш сайт о Microsoft Office Word даст ответ про: как в ворде убрать растянутость слов.

Познакомиться с ними,  расширить свои познания о программе или поделиться секретами и хитростями с другими пользователями вы можете на форуме Ворд Эксперт. На портале о Microsoft Office Word вы узнаете про: шаблоны для фирменного бланка.

Здесь собрана основная информация и ответы на наиболее популярные вопросы по работе с приложением. Например, о создании макросов, о колонтитулах, удалении лишних пробелов. Наш сайт о Microsoft Office Word даст ответ про: как сделать так. чтобы фигура в тексте не съезжала в ворде.

В основных разделах можно обсудить настройки самого Ворда и способы работы с текстом в различных версиях программы. На портале о Microsoft Office Word вы узнаете про: сохранить файл ворд в другом формате?. Подфорум «Автоматизация» предлагает освоить технику создания макросов и задания шаблонов для различных операций и функций. На портале о Microsoft Office Word вы узнаете про: как убрать сноску ворд 2010.

Здесь же на форуме можно найти готовые решения, разнообразные шаблоны, макросы для редактирования таблиц, оглавлений и многое другое. На портале о Microsoft Office Word вы узнаете про: как сканировать документы в ворд 2007. Возможно и оставить заявку, описав свою проблему в соответствующем подразделе. Если у вас есть какие –то оригинальные идеи и решения – форум лучшее место поделиться ими с другими пользователями Ворда. На портале о Microsoft Office Word вы узнаете про: ворд как переходить на новую строку.

Как сделать перенос слов в Ворде 5
Как транслитерировать текст в Excel
Как сделать перенос слов в Ворде 87
Как в Ворде сделать перенос слов
Как сделать перенос слов в Ворде 48
Как убрать перенос слов в Ворде
Как сделать перенос слов в Ворде 51
Вставить в письмо Outlook таблицу
Как сделать перенос слов в Ворде 29
VBA: как удалить лишние пробелы
Как сделать перенос слов в Ворде 25
Как сделать перенос слов в Word
Как сделать перенос слов в Ворде 56
Как сделать перенос слов в Ворде 7
Как сделать перенос слов в Ворде 81
Как сделать перенос слов в Ворде 37
Как сделать перенос слов в Ворде 77
Как сделать перенос слов в Ворде 78
Как сделать перенос слов в Ворде 62
Как сделать перенос слов в Ворде 51
Как сделать перенос слов в Ворде 34
Как сделать перенос слов в Ворде 10