Classe OLEObject (Excel VBA)

A classe OLEObject representa um controle ActiveX ou um objeto OLE incorporado ou vinculado em uma planilha.

Os principais procedimentos da classe OLEObject são Activate, Copy, Delete, Select, OLEObjects.Add, OLEObjects.Copy, OLEObjects.Delete e OLEObjects.Select

Set

Para usar uma variável de classe OLEObject, ela primeiro precisa ser instanciada por exemplo

Dim oleob as OLEObject
Set oleob = ActiveChart.OLEObjects(Index:=1)

Os procedimentos a seguir podem ser usados ​​para definir variáveis ​​do tipo OLEObject: Duplicate, OLEObjects.Item, OLEObjects.Add, Chart.OLEObjects, OLEObjects.Duplicate e Worksheet.OLEObjects

For Each

Aqui está um exemplo de processamento dos itens OLEObject em uma coleção.

Worksheets("Sheet1").Activate 
Range("A1").Value = "Name" 
Range("B1").Value = "Link Status" 
Range("C1").Value = "AutoUpdate Status" 
i = 2 
For Each obj In ActiveSheet.OLEObjects 
 Cells(i, 1) = obj.Name 
 If obj.OLEType = xlOLELink Then 
 Cells(i, 2) = "Linked" 
 Cells(i, 3) = obj.AutoUpdate 
 Else 
 Cells(i, 2) = "Embedded" 
 End If 
 i = i + 1 
Next

Temas

Alguns procedimentos nesta classe foram agrupados em temas e são descritos em páginas de tema separadas

Cell with its procedures BottomRightCell, LinkedCell e TopLeftCell
Copy with its procedures Copy, CopyPicture, OLEObjects.Copy e OLEObjects.CopyPicture
Enable with its procedures Enabled e OLEObjects.Enabled
Print with its procedures PrintObject e OLEObjects.PrintObject
Name with its procedures SourceName e OLEObjects.SourceName
Sort/Order with its procedures ZOrder e OLEObjects.ZOrder

Métodos

Estes são os principais métodos da classe OLEObject

Activate - Ativa o objeto.

ActiveChart.OLEObjects(1).Activate

Delete - Exclui o objeto.

ActiveChart.OLEObjects(1).Delete

Select - Seleciona o objeto.

ActiveChart.OLEObjects(1).Select

OLEObjects.Add - Adiciona um novo objeto OLE a uma planilha.

Dim oleob As OLEObject
Set oleob = ActiveChart.OLEObjects.Add

OLEObjects.Delete - Exclui o objeto.

ActiveChart.OLEObjects.Delete

OLEObjects.Select - Seleciona o objeto.

ActiveChart.OLEObjects.Select

Estes são os principais métodos da classe

BringToFront - Traz o objeto para o início da ordem z.

Cut - Recorta o objeto para a Área de Transferência ou o cola em um local especificado.

Duplicate - Duplica o objeto e retorna uma referência para a nova cópia.

SendToBack - Envia o objeto para o final da ordem z.

Update - Atualiza o link.

Verb - Envia um verbo para o servidor do objeto OLE especificado.

OLEObjects.BringToFront - Traz o objeto para o início da ordem z.

OLEObjects.Cut - Recorta o objeto para a Área de Transferência.

OLEObjects.Duplicate - Duplica o objeto e retorna uma referência para a nova cópia.

OLEObjects.Item - Retorna um único objeto de uma coleção.

OLEObjects.SendToBack - Envia o objeto para o final da ordem z.

Propriedades

AutoLoad True se o objeto OLE for carregado automaticamente quando a pasta de trabalho que o contém for aberta. Boolean de leitura/gravação.

ActiveChart.OLEObjects(1).AutoLoad = True

AutoUpdate True se o objeto OLE for atualizado automaticamente quando a origem for alterada. Válido somente se o objeto estiver vinculado; sua propriedade tipodeole deve ser xlOLELink enumeração**XlOLEType** . Boolean somente leitura.

ActiveChart.OLEObjects(1).AutoUpdate = True

Border Retorna um objeto Border que representa a borda do objeto.

Dim brdBorder As Border
Set brdBorder = ActiveChart.OLEObjects(1).Border

Height Retorna ou define um valor Double que representa a altura, em pontos, do objeto.

ActiveChart.OLEObjects(1).Height =

Index Retorna um valor Long que representa o número de índice do objeto dentro da coleção de objetos semelhantes.

Dim lngIndex As Long
lngIndex = ActiveChart.OLEObjects(1).Index

Interior Retorna um objeto Interior que representa o interior do objeto especificado.

Dim intInterior As Interior
Set intInterior = ActiveChart.OLEObjects(1).Interior

Left Retorna ou define um valor Double que representa a distância, em pontos, da borda esquerda do objeto à borda esquerda da coluna a em uma planilha ou à borda esquerda da área do gráfico (em um gráfico).

ActiveChart.OLEObjects(1).Left =

ListFillRange Retorna ou define o intervalo de planilha usado para preencher a caixa de listagem especificada. A definição dessa propriedade destrói qualquer lista existente na caixa de listagem. String de leitura/gravação.

ActiveChart.OLEObjects(1).ListFillRange =

Locked Retorna ou define um valor Boolean que indica se o objeto está bloqueado.

ActiveChart.OLEObjects(1).Locked = True

Name Retorna ou define um valor String que representa o nome do objeto.

ActiveChart.OLEObjects(1).Name =

Object Retorna um objeto de Automação OLE associado a esse objeto OLE. Objeto somente leitura.

Dim objObject As Object
Set objObject = ActiveChart.OLEObjects(1).Object

OLEType Retorna o tipo do objeto OLE. Pode ser uma das seguintes constantes XlOLEType : xlOLELink ou xlOLEEmbed. Retorna xlOLELink caso o objeto esteja vinculado exista fora do arquivo ou retorna xlOLEEmbed caso o objeto esteja inserido (inteiramente contido no arquivo). Long somente leitura.

Dim xolOLEType As XlOLEType
xolOLEType = ActiveChart.OLEObjects(1).OLEType

Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim objParent As Object
Set objParent = ActiveChart.OLEObjects(1).Parent

Placement Retorna ou define um valor que contém uma constante XlPlacement que representa a maneira como o objeto é anexado às células abaixo dele.

ActiveChart.OLEObjects(1).Placement = xlFreeFloating

progID Retorna os identificadores programáticos do objeto. String somente leitura.

Dim strprogID As String
strprogID = ActiveChart.OLEObjects(1).progID

Shadow Retorna ou define um valor Boolean que determina se o objeto possuirá uma sombra.

ActiveChart.OLEObjects(1).Shadow = True

ShapeRange Retorna um objeto ShapeRange que representa o objeto ou objetos especificados. Somente leitura.

Dim sreShapeRange As ShapeRange
Set sreShapeRange = ActiveChart.OLEObjects(1).ShapeRange

Top Retorna ou define um valor Double que representa a distância, em pontos, da borda superior do objeto até a parte superior da linha 1 em uma planilha ou a parte superior da área do gráfico (em um gráfico).

ActiveChart.OLEObjects(1).Top =

Visible Retorna ou define um valor Boolean que determina se o objeto será visível. Leitura/gravação.

ActiveChart.OLEObjects(1).Visible = True

Width Retorna ou define um valor Double que representa a largura, em pontos, do objeto.

ActiveChart.OLEObjects(1).Width =

OLEObjects.AutoLoad True se o objeto OLE for carregado automaticamente quando a pasta de trabalho que o contém for aberta. Boolean de leitura/gravação.

ActiveChart.OLEObjects.AutoLoad = True

OLEObjects.Border Retorna um objeto Border que representa a borda do objeto.

Dim brdBorder As Border
Set brdBorder = ActiveChart.OLEObjects.Border

OLEObjects.Count Retorna um valor Long que representa o número de objetos na coleção.

Dim lngCount As Long
lngCount = ActiveChart.OLEObjects.Count

OLEObjects.Height Retorna ou define um valor Double que representa a altura, em pontos, do objeto.

ActiveChart.OLEObjects.Height =

OLEObjects.Interior Retorna um objeto Interior que representa o interior do objeto especificado.

Dim intInterior As Interior
Set intInterior = ActiveChart.OLEObjects.Interior

OLEObjects.Left Retorna ou define um valor Double que representa a distância, em pontos, da borda esquerda do objeto à borda esquerda da coluna a em uma planilha ou à borda esquerda da área do gráfico (em um gráfico).

ActiveChart.OLEObjects.Left =

OLEObjects.Locked Retorna ou define um valor Boolean que indica se o objeto está bloqueado.

ActiveChart.OLEObjects.Locked = True

OLEObjects.Parent Retorna o objeto pai do objeto especificado. Somente leitura.

Dim objParent As Object
Set objParent = ActiveChart.OLEObjects.Parent

OLEObjects.Placement Retorna ou define um valor que contém uma constante XlPlacement que representa a maneira como o objeto é anexado às células abaixo dele.

ActiveChart.OLEObjects.Placement = xlFreeFloating

OLEObjects.Shadow Retorna ou define um valor Boolean que determina se o objeto possuirá uma sombra.

ActiveChart.OLEObjects.Shadow = True

OLEObjects.ShapeRange Retorna um objeto ShapeRange que representa o objeto ou objetos especificados. Somente leitura.

Dim sreShapeRange As ShapeRange
Set sreShapeRange = ActiveChart.OLEObjects.ShapeRange

OLEObjects.Top Retorna ou define um valor Double que representa a distância, em pontos, da borda superior do objeto até a parte superior da linha 1 em uma planilha ou a parte superior da área do gráfico (em um gráfico).

ActiveChart.OLEObjects.Top =

OLEObjects.Visible Retorna ou define um valor Boolean que determina se o objeto será visível. Leitura/gravação.

ActiveChart.OLEObjects.Visible = True

OLEObjects.Width Retorna ou define um valor Double que representa a largura, em pontos, do objeto.

ActiveChart.OLEObjects.Width =