Объект OLEObjects (Excel)

Коллекция всех объектов OLEObject на указанном листе.

Примечания

Каждый объект OLEObject представляет элемент ActiveX или связанный или внедренный объект OLE.

У элемента управления ActiveX на листе есть два имени: имя фигуры, содержащей элемент управления, которое отображается в поле "Имя" при просмотре листа, и кодовое имя элемента управления, которое можно увидеть в ячейке справа от элемента "(Имя") в окне свойств.

При первом добавлении элемента управления на лист имя фигуры и имя кода совпадают. Однако при изменении имени фигуры или кода другое имя не изменяется автоматически. Последнее, однако, похоже, изменилось в версиях Excel. В версии 16.0 оба продукта остаются согласованными, и невозможно изменить один из них по отдельности.

Пример

Используйте метод OLEObjects объекта Worksheet для возврата коллекции OLEObjects .

В следующем примере все объекты OLE скрываются на первом листе.

Worksheets(1).OLEObjects.Visible = False

Используйте метод Add , чтобы создать новый объект OLE и добавить его в коллекцию OLEObjects . В следующем примере создается новый OLE-объект, представляющий файл растрового Arcade.bmp, и добавляется на первый лист.

Worksheets(1).OLEObjects.Add FileName:="arcade.gif"

В приведенном ниже примере создается новый элемент ActiveX (список) и добавляется на первый лист.

Worksheets(1).OLEObjects.Add ClassType:="Forms.ListBox.1"

Кодовое имя элемента управления используется в именах его процедур обработки событий. Однако при возврате элемента управления из коллекции "Фигуры" или "OLEObjects" для ссылки на элемент управления по имени необходимо использовать имя фигуры, а не кодовое имя. Предположим, что вы добавили на лист поле проверки и что именем фигуры по умолчанию и именем кода по умолчанию являются "Флажок1". Если затем изменить имя кода элемента управления, введя chkFinished рядом с пунктом "Имя" в окне "Окно свойств", необходимо будет использовать chkFinished в именах процедур событий, но вам по-прежнему придется использовать CheckBox1 для возврата элемента управления из коллекции Shapes или OLEObject, как показано в следующем примере.

Private Sub chkFinished_Click() 
 ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1 
End Sub

Методы

Свойства

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.