Для создания графического об'екта, сразу после активации нужной рабочей книги, можно использовать нижеприведённое событие рабочей книги, которое необходимо разместить строго в модуле ThisWorkbook(ЭтаКнига)
Код
Private Sub Workbook_Activate()
With Me.Worksheets(1).Shapes.AddShape _
(msoShapeRectangle, 10, 10, 210, 110).Fill
.ForeColor.RGB = QBColor(5) 'RGB()
.OneColorGradient msoGradientFromCorner, 1, 1
End With
End Sub
Однако, есть ряд нюансов, которые желательно учесть :
- в нужной рабочей книге может не оказаться рабочих листов (сие маловероятно, однако, не так уж и невероятно)
- рабочий лист с номером(индексом) может быть защищён в отношении об'ектов (в этом случае мы, при попытке создать графический об'ект, получим ошибку, которую можно избежать просто добавив соответствующую проверку)
- и наконец, наш прямоугольник уже будет существовать (избежать повторов можно, если предварительно проверить наличие подобного об'екта, или создавать об'ект только при наличии некого флага/разрешения)
Сообщение отредактировал pashulka - Понедельник, 15 Сентября 2008, 21:44