Условное форматирование PowerPoint-таблицы

13484
eirikdaude

В связи с этим вопросом мне интересно, есть ли способ применить условное форматирование к таблице в PowerPoint, не импортируя таблицу Excel. Например, чтобы изменить цвет фона ячейки в таблице в зависимости от значения в ней.

1

1 ответ на вопрос

2
Steve Rindsberg

Да, но только с помощью какого-либо кода / макроса. Вы перебираете коллекцию таблицы .Cell, проверяете, есть ли в каждой ячейке текст, и если да, то если значение текста, преобразованного в числовое значение, равно <0, то установите заполнение ячейки .Shape так, как вам нравится. Передайте ссылку на таблицу этому, например:

Sub FormatTheTable(oTbl As Table) Dim x As Long Dim y As Long  With oTbl For x = 1 To .Rows.Count For y = 1 To .Columns.Count If .Cell(x, y).Shape.TextFrame.HasText Then If CDbl(.Cell(x, y).Shape.TextFrame.TextRange.Text) < 0 Then .Cell(x, y).Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) End If End If Next ' Column Next ' Row End With ' otbl End Sub 
Как бы вы поймали изменения в таблице? Посмотрел что-то похожее на то, что вы предлагаете во время поиска в Google, но перехват события изменения таблицы выглядит как настоящий кошмар. Я могу ошибаться, конечно. eirikdaude 8 лет назад 0
Вы можете ошибаться. Возможно, в альтернативной вселенной. В этом вы абсолютно правы. Там нет события изменения для таблиц или любых других конкретных фигур. Самое лучшее, что вы можете сделать, это перехватить событие изменения выделения, и если фигура выбрана, проверьте, является ли она таблицей, и запишите этот факт (в переменной или как-то еще со ссылкой на фигуру). Затем при следующем событии изменения выбора посмотрите, не является ли выбор больше той же самой таблицей, и, если это так, запустите приведенный выше код для внесения любых необходимых изменений форматирования. PowerPoint <> Excel. Steve Rindsberg 8 лет назад 0