Макрос для выбранной части .doc, а не WholeStory - VBA

Узнай цену своей работы

Формулировка задачи:

Привет знатокам! Может ли кто-то помочь переделать нижеследующий код для применения на выбранном участке документа, а не на всем документе? Убирал WholeStory, изменял wdStory - не помогает. Пожалуйста, помогите!
Листинг программы
  1. Sub SetRus_US_words()
  2. ' Set Rus or Engl for spell checking for words in selected portion
  3. With Selection.WholeStory
  4. .LanguageID = wdRussian
  5. .NoProofing = False
  6. .HomeKey Unit:=wdStory
  7. n1 = 0
  8. w1 = "a"
  9. se1 = .End
  10. se2 = -1
  11. Do While se1 <> se2
  12. w1 = Left(Trim(.Words(1)), 1)
  13. If w1 <> "" Then
  14. n1 = Asc(w1)
  15. If (n1 >= 65 And n1 <= 90) Or (n1 >= 97 And n1 <= 122) Then
  16. .Words(1).LanguageID = wdEnglishUS
  17. .Words(1).NoProofing = False
  18. End If
  19. End If
  20. .MoveRight Unit:=wdWord
  21. se2 = se1
  22. se1 = .End
  23. Loop
  24. End With
  25. Application.CheckLanguage = True
  26. If se1 = se2 Then MsgBox "End of selection", vbInformation, ""
  27. End Sub

Решение задачи: «Макрос для выбранной части .doc, а не WholeStory»

textual
Листинг программы
  1. Sub SetRUS()
  2.   Dim StrRu$, P As Paragraph, El, Mas
  3.     StrRu = "ее,нная,нное,ё,ъ,ы,э,Ё,Ы,Э"
  4.     Mas = Split(StrRu, ",")
  5.     For Each P In Selection.Paragraphs
  6.         With P.Range
  7.             .LanguageID = wdUkrainian
  8.             For Each El In Mas
  9.                 ' если регистр не важен, установить MatchCase:=False и убрать дубликаты из строки StrRu: Ё,Ы,Э
  10.                If .Find.Execute(findtext:=El, MatchCase:=True) Then
  11.                     P.Range.LanguageID = wdRussian
  12.                     Exit For
  13.                 End If
  14.             Next
  15.         End With
  16.     Next
  17. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы