Ошибка № 5941 Запрашиваемый номер семейства не существует - MS Word - VBA
Формулировка задачи:
Здравствуйте. Пишу макрос для ворда, надо перебирать символы. При отладке вылетает "Ошибка № 5941 Запрашиваемый номер семейства не существует" на этой строке кода (когда пытаюсь извлечь символ номер i):
Весь код:
В чем проблема?
Листинг программы
- If ActiveDocument.Characters(i) = "}" Then
Листинг программы
- Sub ToCalibri()
- '
- ' ToCalibri Macros
- '
- '
- Set Selected = ActiveDocument.Range(0, ActiveDocument.Characters.Count)
- Selected.Select
- Dim capture As Boolean
- Dim captureStart As Integer
- Dim captureEnd As Integer
- captureStart = 0
- captureEnd = 0
- capture = False
- 'cycle to check every character
- For i = 1 To ActiveDocument.Characters.Count
- If ActiveDocument.Characters(i) = "}" Then
- captureStart = i
- capture = True
- ElseIf ActiveDocument.Characters(i) = "{" Then
- If capture Then
- Dim r As Range
- Set r = ActiveDocument.Range(captureStart + 1, captureEnd - 1)
- r.Select
- '==============================================
- Selection.Font.Name = "Calibri"
- Selection.MoveRight Unit:=wdCharacter, Count:=1
- '==============================================
- capture = False
- captureStart = i
- End If
- End If
- Next
- End Sub
Решение задачи: «Ошибка № 5941 Запрашиваемый номер семейства не существует - MS Word»
textual
Листинг программы
- Sub ToCalibri1()
- Selection.HomeKey wdStory
- With Selection.Find
- .ClearFormatting
- .Replacement.Text = ""
- .Text = "[}]*[{]"
- .Forward = True
- .Wrap = wdFindStop
- .Format = False
- .MatchCase = False
- .MatchWholeWord = False
- .MatchAllWordForms = False
- .MatchSoundsLike = False
- .MatchWildcards = True
- End With
- While Selection.Find.Execute
- ActiveDocument.Range(Selection.Start + 1, Selection.End - 1).Font.Name = "Calibri"
- Wend
- End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д