Макрос для выбранной части .doc, а не WholeStory - VBA
Формулировка задачи:
Привет знатокам!
Может ли кто-то помочь переделать нижеследующий код для применения на выбранном участке документа, а не на всем документе? Убирал WholeStory, изменял wdStory - не помогает.
Пожалуйста, помогите!
Листинг программы
- Sub SetRus_US_words()
- ' Set Rus or Engl for spell checking for words in selected portion
- With Selection.WholeStory
- .LanguageID = wdRussian
- .NoProofing = False
- .HomeKey Unit:=wdStory
- n1 = 0
- w1 = "a"
- se1 = .End
- se2 = -1
- Do While se1 <> se2
- w1 = Left(Trim(.Words(1)), 1)
- If w1 <> "" Then
- n1 = Asc(w1)
- If (n1 >= 65 And n1 <= 90) Or (n1 >= 97 And n1 <= 122) Then
- .Words(1).LanguageID = wdEnglishUS
- .Words(1).NoProofing = False
- End If
- End If
- .MoveRight Unit:=wdWord
- se2 = se1
- se1 = .End
- Loop
- End With
- Application.CheckLanguage = True
- If se1 = se2 Then MsgBox "End of selection", vbInformation, ""
- End Sub
Решение задачи: «Макрос для выбранной части .doc, а не WholeStory»
textual
Листинг программы
- Sub SetRUS()
- Dim StrRu$, P As Paragraph, El, Mas
- StrRu = "ее,нная,нное,ё,ъ,ы,э,Ё,Ы,Э"
- Mas = Split(StrRu, ",")
- For Each P In Selection.Paragraphs
- With P.Range
- .LanguageID = wdUkrainian
- For Each El In Mas
- ' если регистр не важен, установить MatchCase:=False и убрать дубликаты из строки StrRu: Ё,Ы,Э
- If .Find.Execute(findtext:=El, MatchCase:=True) Then
- P.Range.LanguageID = wdRussian
- Exit For
- End If
- Next
- End With
- Next
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д