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

Макрос для MS Word

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


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

Программист, с которым я ранее работал - пропал и не выходит на связь. У меня остался вот такой кусок кода (макроса) Sub ВыделениеСловТегом_через_Find_4() 'Обрамляем слова тэгами <em>, <strong> , <h1>, <h2>, <h3>, <p> 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 "<p>" 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>^p<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 = "<strong><em>" TagEnd = "<\em><\strong>" Case 1 ' поиск по жирному .Font.Bold = True .Replacement.Font.Bold = False TagStart = "<strong>" TagEnd = "<\strong>" Case 2 ' поиск курсиву .Font.Italic = True .Replacement.Font.Italic = False TagStart = "<em>" TagEnd = "<\em>" Case 3 .Style = "Заголовок 1" TagStart = "<h1>" TagEnd = "<\h1>" Case 4 .Style = "Заголовок 2" TagStart = "<h2>" TagEnd = "<\h2>" Case 5 .Style = "Заголовок 3" TagStart = "<h3>" 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 ' Очистка Заголовков от тегов <p> , </p> .Text = "<p>" .Replacement.Text = "" .Execute Replace:=wdReplaceAll .Text = "</p>" .Execute Replace:=wdReplaceAll ' Перенос тэгов , попавших в чужие абзацы .ClearFormatting .Text = TagStart & "^p" .Replacement.Text = "^p" & TagStart .Execute Replace:=wdReplaceAll .Text = "^p" & TagEnd .Replacement.Text = TagEnd & "^p" & "<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. Обрамление Основного текста в <p> 4. Обрамление Стих в <div class="stih"> 5. Обрамление звёздочек в <p class="star"> 6. Обрамление жирного текста и курсива в <strong>, <em> за исключением заголовков 7. Обрамление Подпись в <div class="signature"> 8. Обрамление Подпись в <div class="author"> 9. Длинное тире в <ul> списках

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

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

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

   



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

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