Изменение цвета объектов OMath в Word

#vba #ms-word

Вопрос:

Я пытаюсь написать макрос, который изменит цвет каждого третьего уравнения в моем отчете на темно-синий (как показано ниже).:

введите описание изображения здесь

Я уже успешно написал некоторую VBA для преобразования всех уравнений в профессиональный формат на open, и теперь мне нужна помощь, чтобы изменить раскраску. Я попробовал цикл for, чтобы выбрать третье уравнение, покрасить его в синий цвет, а затем перейти к следующему, но у меня ничего не получилось. Ранее упомянутый код приведен ниже:

 Dim j As Integer    
Dim eqRange As Range
For j = 3 To ActiveDocument.Range.OMaths.Count
Set eqRange = ActiveDocument.Range.OMaths.Item(j)
eqRange.Select
Selection.Font.ColorIndex = wdDarkBlue
j = j   3
Next j
 

У меня не было никакого успеха с этим кодом, и когда я запускаю его строка за строкой, я могу сказать, что он ничего не выбирает, поэтому цвета не меняются.

Я также включу код, который я ранее упоминал о преобразовании ниже, для справки:

 Dim i As Integer
For i = 1 To ActiveDocument.Range.OMaths.Count
ActiveDocument.Range.OMaths.Item(i).BuildUp
Next i
 

Ответ №1:

Например:

 Sub Demo()
Application.ScreenUpdating = False
Dim i As Long
With ActiveDocument
  For i = 3 To .OMaths.Count Step 3
    .OMaths(i).Range.Font.ColorIndex = wdDarkBlue
  Next
End With
Application.ScreenUpdating = True
End Sub
 

Комментарии:

1. Это именно то, что я искал, большое вам спасибо за вашу помощь!