Тема: Shape in Excel
Показать сообщение отдельно
Старый 22.01.2009, 12:08   #5  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от MikeR Посмотреть сообщение
Осталось немного бесыковщины , а именно подставить свойство
Код:
Selection.ShapeRange.Fill.ForeColor.SchemeColor = 57
Не ленись! Раскладывай дальше на простые члены.
Selection.ShapeRange это и есть твой shape, поэтому как-то так:
X++:
COM comTemp;

comTemp = shape.Fill();
comTemp = comTemp.ForeColor();
comTemp = comTemp.SchemeColor(57);
P.S. Про Select и Selection. Для того, чтобы поменять свойства объекта (шэйпа, ячейки и т.д.) в 99 % случаев не обязательно делать ему Select. Это макрорекордер так бездумно записывает, потому что у него нет другого выхода. Но мы-то не макрорекордеры, мы можем заранее предусмотреть соответствующую переменную вместо Selection.
За это сообщение автора поблагодарили: MikeR (2).