Категории заданий

Макрос для MS Word

Сергей Исполнитель: Сергей 
Оценка: +1
Отзыв: Ожидал от Сергея работы под палку. Т.е. когда говоришь сделай Это и это. Но Сергей профессионал в своём деле. Проявляет активность, советует как сделать лучше и делает больше, чем от него ожидают! Готов с ним сотрудничать на постоянной основе
Стоимость: 150
Категория: Помощь по сайту
Время выполнения: 7 дней
Поиск кандидата: 0 сек


Подробное описание:

Программист, с которым я ранее работал - пропал и не выходит на связь. У меня остался вот такой кусок кода (макроса) Sub ВыделениеСловТегом_через_Find_4() 'Обрамляем слова тэгами , ,

,

,

,

Dim k%, TagStart$, TagEnd$, UslNaydeno As Boolean, Ra As Range Application.ScreenUpdating = False ' Предварительно все символы концов абзаца делаем не жирными и не курсивными. Selection.HomeKey wdStory ' With Selection.Find .ClearFormatting .Format = True .MatchWildcards = False .MatchWholeWord = False .Forward = True .Text = "^p" .Wrap = wdFindContinue .Font.Italic = True .Replacement.ClearFormatting .Replacement.Text = "^p" .Replacement.Font.Italic = False .Replacement.Font.Bold = False .Execute Replace:=wdReplaceAll .ClearFormatting .Font.Bold = True .Execute Replace:=wdReplaceAll End With ' Перебор символов абзацев Selection.HomeKey wdStory Selection.InsertBefore "

" Selection.EndKey wdStory Selection.MoveLeft Unit:=wdCharacter, Count:=1 Do With Selection.Find .Forward = False .ClearFormatting .Replacement.ClearFormatting .Format = False .Text = "^p" .Replacement.Text = "

^p

" .Wrap = wdFindStop .Execute If .Found Then Select Case Selection.Style Case "Заголовок 1", "Заголовок 2", "Заголовок 3" Case Else If Selection.Range.Start > 0 Then .Execute Replace:=wdReplaceOne Else Exit Do End If End Select Selection.Collapse Direction:=wdCollapseStart Else Exit Do End If End With Loop For k = 0 To 5 ' Перебираем комплекты условий Selection.HomeKey wdStory With Selection.Find .Forward = True .ClearFormatting .Replacement.ClearFormatting .Format = True .MatchWildcards = False ' подстановочные знаки (в диалоге по Ctrl-h) выключены .MatchWholeWord = False ' ищем текст из многих слов, .Text = "" .Wrap = wdFindContinue Select Case k Case 0 ' поиск по жирному курсиву .Font.Italic = True .Font.Bold = True .Replacement.Font.Italic = False .Replacement.Font.Bold = False TagStart = "" TagEnd = "<\em><\strong>" Case 1 ' поиск по жирному .Font.Bold = True .Replacement.Font.Bold = False TagStart = "" TagEnd = "<\strong>" Case 2 ' поиск курсиву .Font.Italic = True .Replacement.Font.Italic = False TagStart = "" TagEnd = "<\em>" Case 3 .Style = "Заголовок 1" TagStart = "

" TagEnd = "<\h1>" Case 4 .Style = "Заголовок 2" TagStart = "

" TagEnd = "<\h2>" Case 5 .Style = "Заголовок 3" TagStart = "

" TagEnd = "<\h3>" End Select .Replacement.Font.Color = vbRed 'заменяющий текст делаем красным .Replacement.Text = TagStart & "^&" & TagEnd ' обрамляем текст тэгами If .Execute(Replace:=wdReplaceAll) Then UslNaydeno = True If k >= 3 Then .Replacement.ClearFormatting .Format = False ' Очистка Заголовков от тегов

,

.Text = "

" .Replacement.Text = "" .Execute Replace:=wdReplaceAll .Text = "

" .Execute Replace:=wdReplaceAll ' Перенос тэгов , попавших в чужие абзацы .ClearFormatting .Text = TagStart & "^p" .Replacement.Text = "^p" & TagStart .Execute Replace:=wdReplaceAll .Text = "^p" & TagEnd .Replacement.Text = TagEnd & "^p" & "

" .Execute Replace:=wdReplaceAll End If End With Next k If UslNaydeno Then MsgBox "Текст преобразован." & Chr(13) & Chr(13) & _ "(Ok, Ctrl-z — отмена.)" & Chr(13) & Chr(13) & _ "Снять весь формат: Ctrl-a, затем Ctrl-Пробел." Else: MsgBox "Нужных слов не найдено." End If End Sub Необходимо дописать этот код (макрос), что бы решались следующие задачи: 1. Исправление кодировки на UTF-8 2. Обрамление Заголовков в теги h1, h2, h3, h4, h5, h6 соответственно 3. Обрамление Основного текста в

4. Обрамление Стих в

Рассказать друзьям

Подпишитесь на полезные статьи

Примеры заданий и практические советы по аутсорсингу задач

   



На дайджест уже подписалось 555214 читателей!

Присоединяйтесь к нам в соцсетях!