Имам някакъв код, който превключва цвета на шрифта на избран текст чрез предварително определени цветове (черно > червено > зелено > черно и т.н.). Това, което наистина бих искал да направя обаче, е да го направя по-динамичен за какъвто и формат да е моята презентация.
Например, ако стартирам макроса върху част от заглавието на слайд, което е форматирано да бъде синьо, нямам добър начин да се върна към оригиналното синьо. Мислил съм да "копирам" форматирането в някаква променлива, но не съм сигурен как точно да изчистя променливата или да я съхраня за по-късно.
Това, което изглежда по-вероятно, е да се изгради някакъв вид търсене на „контекст“. Ако мога да погледна отляво и отдясно на избрания текст, може да има някакъв вход за цвета на текста (тъй като много рядко трябва да се различава в рамките на текстов блок). Но това бързо излиза извън моето ноу-хау.
Вижте кода по-долу за текущата настройка.
Sub TextColorSwap()
On Error Resume Next
With ActiveWindow.Selection
If .TextRange.Font.Color = RGB(0, 0, 0) Then
.TextRange.Font.Color = vbRed
ElseIf .TextRange.Font.Color = vbRed Then
.TextRange.Font.Color = RGB(0, 153, 0)
Else
.TextRange.Font.Color = RGB(0, 0, 0)
End If
End With
End Sub
Някакви мисли от професионалистите?
-R