Мне срочно нужно переместить положение текста во все текстовые поля (1 текстовое поле на слайд). Первый язык субтитров - белый, а желтый - английский. Теперь я хочу, чтобы желтый был сверху, белый внизу. Поэтому сначала я хотел бы выбрать белый, скопировать, стереть, перейти к концу желтого цвета и вставить (с разрывом строки между белым/желтым). Это можно сделать?текст смены текста в текстовом поле Power Point 2007 vba
Возможно, какое-то изменение в таком скрипте поможет? Извините, что я далеко от своего ноутбука, и мой друг спросил меня, могу ли я спасти ситуацию.
Sub RemoveWhiteText()
Dim oSl As Slide
Dim oSh As Shape
With ActivePresentation
For Each oSl In .Slides
For Each oSh In oSl.Shapes
With oSh
If .HasTextFrame Then
If .TextFrame.HasText Then
If TextRange.Font.Color = vbWhite Then
oSh.TextFrame.Text
End If
End If
End If
End With
Next
Next
End With
End Sub
Спасибо за ответ. Он отлично справляется с 1 строкой предложения, но с двумя строками белого текста он разрезает только половину его. Кажется, он останавливается в некоторых дополнительных местах. –
Он должен работать независимо от количества строк текста, если он является непрерывным блоком с тем же форматированием. Похоже, что форматирование может отличаться в двух строках белого. –
Я думал о том же. Да, когда я снова выбрал белый цвет и запустил макрос, он сработал. Благодаря :) –