Classe OLEObject (Excel VBA)

Cet objet représente un contrôle ActiveX ou un objet OLE incorporé ou lié dans une feuille de calcul.

Les procédures principales de la classe OLEObject sont Activate, Copy, Delete, Select, OLEObjects.Add, OLEObjects.Copy, OLEObjects.Delete et OLEObjects.Select

Set

Pour utiliser une variable de classe OLEObject, elle doit d'abord être instanciée, par exemple

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

Les procédures suivantes peuvent être utilisés pour définir des variables de la classe OLEObject : Duplicate, OLEObjects.Item, OLEObjects.Add, Chart.OLEObjects, OLEObjects.Duplicate et Worksheet.OLEObjects

For Each

Voici un exemple de traitement des éléments OLEObject dans une collection

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

Thèmes

Certaines procédures de cette classe ont été regroupées en thèmes et sont décrites sur des pages thématiques séparées

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

Méthodes

Les méthodes principales de la classe OLEObject sont

Activate - Active l'objet.

ActiveChart.OLEObjects(1).Activate

Delete - Cette méthode supprime l'objet.

ActiveChart.OLEObjects(1).Delete

Select - Cette méthode sélectionne l'objet.

ActiveChart.OLEObjects(1).Select

OLEObjects.Add - Cette méthode ajoute un nouvel objet OLE à une feuille.

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

OLEObjects.Delete - Cette méthode supprime l'objet.

ActiveChart.OLEObjects.Delete

OLEObjects.Select - Cette méthode sélectionne l'objet.

ActiveChart.OLEObjects.Select

Autre Méthodes

BringToFront - Cette méthode amène l'objet au premier plan de l'ordre de plan.

Cut - Cette méthode coupe l'objet et le place dans le Presse-papiers ou colle l'objet à l'emplacement spécifié.

Duplicate - Cette méthode duplique l'objet et renvoie une référence à la nouvelle copie.

SendToBack - Cette méthode place l'objet à l'arrière-plan de l'ordre de plan.

Update - Cette méthode met à jour le lien.

Verb - Cette méthode envoie un verbe au serveur de l'objet OLE spécifié.

OLEObjects.BringToFront - Cette méthode amène l'objet au premier plan de l'ordre de plan.

OLEObjects.Cut - Cette méthode coupe l'objet et le place dans le Presse-papiers.

OLEObjects.Duplicate - Cette méthode duplique l'objet et renvoie une référence à la nouvelle copie.

OLEObjects.Item - Cette méthode renvoie un seul objet d'une collection.

OLEObjects.SendToBack - Cette méthode place l'objet à l'arrière-plan de l'ordre de plan.

Propriétés

AutoLoad Cette propriété a la valeur True si l'objet OLE est automatiquement chargé quand le classeur dans lequel il est situé est ouvert. Boolean (en lecture/écriture).

ActiveChart.OLEObjects(1).AutoLoad = True

AutoUpdate Cette propriété a la valeur True si l'objet OLE est mis à jour automatiquement lorsque la source est modifiée. Valide uniquement si l’objet est lié; sa propriété OLEType doit être xlOLELink (XlOLEType , énumération). Boolean (en lecture seule).

ActiveChart.OLEObjects(1).AutoUpdate = True

Border Renvoie un objet Border qui représente la bordure de l’objet.

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

Height Cette propriété renvoie ou définit une valeur de type double qui représente la hauteur de l’objet, exprimée en points.

ActiveChart.OLEObjects(1).Height =

Index Cette propriété renvoie une valeur de type Long qui représente le numéro d'index de l'objet au sein de la collection d'objets similaires.

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

Interior Renvoie un objet Interior qui représente l’intérieur de l’objet spécifié.

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

Left Cette propriété renvoie ou définit une valeur de type double qui représente la distance en pointsentre le bord gauche de l’objet et le bord gauche de colonne a (dans une feuille de calcul) ou le bord gauche de la zone de graphique (dans un graphique).

ActiveChart.OLEObjects(1).Left =

ListFillRange Cette propriété renvoie ou définit la plage de feuille de calcul utilisée pour remplir la zone de liste spécifiée. Définir cette propriété supprime toute liste existant dans la zone de liste. String en lecture/écriture.

ActiveChart.OLEObjects(1).ListFillRange =

Locked Cette propriété renvoie ou définit une valeur de type Boolean qui indique si l'objet est verrouillé.

ActiveChart.OLEObjects(1).Locked = True

Name Cette propriété renvoie ou définit une valeur de type String qui représente le nom de l'objet.

ActiveChart.OLEObjects(1).Name =

Object Cette propriété renvoie l'objet Automation OLE associé à cet objet OLE. Type de données Object en lecture seule.

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

OLEType Cette propriété renvoie le type d'objet OLE. Il peut s’agir de l’une des constantes XlOLEType suivantes: xlOLELink ou xlOLEEmbed. Cette propriété renvoie la valeur xlOLELink si l'objet est lié (c'est-à-dire qu'il ne fait pas partie du fichier même) et la valeur xlOLEEmbed s'il est incorporé (s'il est contenu dans le fichier dans son intégralité). Type de données Long en lecture seule.

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

Parent Renvoie l’objet parent pour l’objet spécifié. En lecture seule.

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

Placement Cette propriété renvoie ou définit une valeur de type Variant contenant une constante XlPlacement qui représente le mode d’attachement de l’objet aux cellules qui se trouve en-dessous.

ActiveChart.OLEObjects(1).Placement = xlFreeFloating

progID Cette propriété renvoie les identificateurs de programmation de l'objet. Type de données String en lecture seule.

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

Shadow Cette propriété renvoie ou définit une valeur de type Boolean qui détermine si l'objet est ombré.

ActiveChart.OLEObjects(1).Shadow = True

ShapeRange Renvoie un objet ShapeRange qui représente l’objet ou les objets spécifiés. En lecture seule.

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

Top Cette propriété renvoie ou définit une valeur de type double qui représente la distance en pointsentre le bord supérieur de l’objet et le haut de ligne 1 (dans une feuille de calcul) ou le haut de la zone de graphique (dans un graphique).

ActiveChart.OLEObjects(1).Top =

Visible Cette propriété renvoie ou définit une valeur de type Boolean qui détermine si l’objet est visible. Lecture-écriture.

ActiveChart.OLEObjects(1).Visible = True

Width Cette propriété renvoie ou définit une valeur de type double qui représente la largeur, exprimée en points, de l’objet.

ActiveChart.OLEObjects(1).Width =

OLEObjects.AutoLoad Cette propriété a la valeur True si l'objet OLE est automatiquement chargé quand le classeur dans lequel il est situé est ouvert. Boolean (en lecture/écriture).

ActiveChart.OLEObjects.AutoLoad = True

OLEObjects.Border Renvoie un objet Border qui représente la bordure de l’objet.

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

OLEObjects.Count Cette propriété renvoie une valeur de type Long qui représente le nombre d’objets de la collection.

Dim lngCount As Long
lngCount = ActiveChart.OLEObjects.Count

OLEObjects.Height Cette propriété renvoie ou définit une valeur de type double qui représente la hauteur de l’objet, exprimée en points.

ActiveChart.OLEObjects.Height =

OLEObjects.Interior Renvoie un objet Interior qui représente l’intérieur de l’objet spécifié.

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

OLEObjects.Left Cette propriété renvoie ou définit une valeur de type double qui représente la distance en pointsentre le bord gauche de l’objet et le bord gauche de colonne a (dans une feuille de calcul) ou le bord gauche de la zone de graphique (dans un graphique).

ActiveChart.OLEObjects.Left =

OLEObjects.Locked Cette propriété renvoie ou définit une valeur de type Boolean qui indique si l'objet est verrouillé.

ActiveChart.OLEObjects.Locked = True

OLEObjects.Parent Renvoie l’objet parent pour l’objet spécifié. En lecture seule.

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

OLEObjects.Placement Cette propriété renvoie ou définit une valeur de type Variant contenant une constante XlPlacement qui représente le mode d’attachement de l’objet aux cellules qui se trouve en-dessous.

ActiveChart.OLEObjects.Placement = xlFreeFloating

OLEObjects.Shadow Cette propriété renvoie ou définit une valeur de type Boolean qui détermine si l'objet est ombré.

ActiveChart.OLEObjects.Shadow = True

OLEObjects.ShapeRange Renvoie un objet ShapeRange qui représente l’objet ou les objets spécifiés. En lecture seule.

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

OLEObjects.Top Cette propriété renvoie ou définit une valeur de type double qui représente la distance en pointsentre le bord supérieur de l’objet et le haut de ligne 1 (dans une feuille de calcul) ou le haut de la zone de graphique (dans un graphique).

ActiveChart.OLEObjects.Top =

OLEObjects.Visible Cette propriété renvoie ou définit une valeur de type Boolean qui détermine si l’objet est visible. Lecture-écriture.

ActiveChart.OLEObjects.Visible = True

OLEObjects.Width Cette propriété renvoie ou définit une valeur de type double qui représente la largeur, exprimée en points, de l’objet.

ActiveChart.OLEObjects.Width =