У меня есть макрос для создания консолидированной презентации PowerPoint примерно из 25 отдельных слайдов. На слайдах есть красный, желтый или зеленый кружок состояния для отображения текущего состояния. Я хочу вытащить цвет этих фигур и поместить в файл Excel. Я пробовал использовать номер индекса формы для ссылки на фигуру в моем коде, но индекс для конкретной фигуры меняется на каждом слайде; это непоследовательно. Идентификатор формы кажется согласованным, но я не могу понять, как использовать идентификатор формы в VBA. Вот что я сейчас использую:
With ActivePresentation.Slides(IForLoop).Shapes(8).Fill.ForeColor
data = ActivePresentation.Slides(IForLoop).Shapes(8).Fill.Forecolor
If Instr(1 , data, "255"), Then
LArray (I, sStatus) = "Red"
ElseIf InStr(1, data, "65535") Then
LArray (I, sStatus) = "Yellow"
ElseIf InStr(1, data, "5287936") Then
LArray (I, sStatus) = "Green"
End If
Проблема в том, что ссылка на фигуру, Shape (8), не согласована для каждого слайда, поэтому я не получаю правильное имя цвета для заполнения мой файл Excel.
Спасибо.