Klasse OLEObject (Excel VBA)

Die Klasse OLEObject stellt ein ActiveX-Steuerelement oder ein verknüpftes oder eingebettetes OLE-Objekt eines Arbeitsblatts dar.

Die wichtigste Prozeduren der Klasse OLEObject sind Activate, Copy, Delete, Select, OLEObjects.Add, OLEObjects.Copy, OLEObjects.Delete und OLEObjects.Select

Set

Um eine OLEObject -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise

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

Die folgenden Prozeduren können zum Festlegen der OLEObject Klassenvariablen verwendet werden : Duplicate, OLEObjects.Item, OLEObjects.Add, Chart.OLEObjects, OLEObjects.Duplicate und Worksheet.OLEObjects

For Each

Hier ist ein Beispiel für die Verarbeitung der OLEObject -Elemente in einer Sammlung

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

Themas

Einige Prozeduren in dieser Klasse wurden in Themen zusammengefasst und auf separaten Themenseiten beschrieben

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

Methoden

Die Hauptmethoden der Klasse OLEObject sind

Activate - Aktiviert das Objekt.

ActiveChart.OLEObjects(1).Activate

Delete - Löscht das Objekt.

ActiveChart.OLEObjects(1).Delete

Select - Markiert das Objekt.

ActiveChart.OLEObjects(1).Select

OLEObjects.Add - Fügt einem Blatt ein neues OLE-Objekt hinzu.

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

OLEObjects.Delete - Löscht das Objekt.

ActiveChart.OLEObjects.Delete

OLEObjects.Select - Markiert das Objekt.

ActiveChart.OLEObjects.Select

Andere Methoden

BringToFront - Bringt das Objekt in den Vordergrund der Z-Reihenfolge.

Cut - Schneidet das Objekt aus, legt es in die Zwischenablage oder fügt es an einer angegebenen Stelle ein.

Duplicate - Dupliziert das Objekt und gibt einen Bezug auf die neue Kopie zurück.

SendToBack - Verschiebt das Objekt in den Hintergrund der Z-Reihenfolge.

Update - Aktualisiert die Verknüpfung.

Verb - Sendet ein Verb an den Server des angegebenen OLE-Objekts.

OLEObjects.BringToFront - Bringt das Objekt in den Vordergrund der Z-Reihenfolge.

OLEObjects.Cut - Schneidet das Objekt aus und fügt es in die Zwischenablage ein.

OLEObjects.Duplicate - Dupliziert das Objekt und gibt einen Bezug auf die neue Kopie zurück.

OLEObjects.Item - Gibt ein einzelnes Objekt aus einer Auflistung zurück.

OLEObjects.SendToBack - Verschiebt das Objekt in den Hintergrund der Z-Reihenfolge.

Eigenschaften

AutoLoad True, wenn das OLE-Objekt beim Öffnen der Arbeitsmappe, in der es enthalten ist, automatisch geladen wird.

ActiveChart.OLEObjects(1).AutoLoad = True

AutoUpdate True, wenn das OLE-Objekt bei Änderungen an der Quelle automatisch aktualisiert wird.

ActiveChart.OLEObjects(1).AutoUpdate = True

Border Gibt ein Border -Objekt zurück, das den Rahmen des Objekts darstellt.

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

Height Gibt einen Double -Wert zurück, der die Höhe des Objekts in Punktdarstellt, oder legt diesen fest.

ActiveChart.OLEObjects(1).Height =

Index Gibt einen Long-Wert zurück, der die Indexnummer des Objekts in der Auflistung ähnlicher Objekte darstellt.

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

Interior Gibt ein Interior-Objekt zurück, das den Innenbereich des angegebenen Objekts darstellt.

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

Left Gibt einen Double -Wert zurück, der den Abstand (in Punkt) vom linken Rand des Objekts zum linken Rand der Spalte a (auf einem Arbeitsblatt) oder zum linken Rand des Diagrammbereichs (in einem Diagramm) darstellt, oder legt diesen fest.

ActiveChart.OLEObjects(1).Left =

ListFillRange Gibt den Arbeitsblattbereich zurück, mit dem das angegebene Listenfeld ausgefüllt wird, oder legt ihn fest.

ActiveChart.OLEObjects(1).ListFillRange =

Locked Gibt einen Boolean-Wert zurück, der angibt, ob das Objekt gesperrt ist, oder legt diesen fest.

ActiveChart.OLEObjects(1).Locked = True

Name Gibt einen String-Wert zurück, der den Namen des Objekt darstellt, oder legt diesen Wert fest.

ActiveChart.OLEObjects(1).Name =

Object Gibt das OLE-Automatisierungsobjekt zurück, das mit diesem OLE-Objekt verknüpft ist.

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

OLEType Gibt den OLE-Objekttyp zurück.

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

Parent Gibt das übergeordnete Objekt für das angegebene Objekt zurück.

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

Placement Gibt einen Variant -Wert zurück, der eine XlPlacement -Konstante enthält, die angibt, wie das Objekt an die Zellen darunter angefügt wird, oder legt diesen fest.

ActiveChart.OLEObjects(1).Placement = xlFreeFloating

progID Gibt die programmatischen Bezeichner des Objekts zurück.

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

Shadow Gibt einen Boolean-Wert zurück, der bestimmt, ob das Objekt einen Schatten aufweist, oder legt diesen Wert fest.

ActiveChart.OLEObjects(1).Shadow = True

ShapeRange Gibt ein ShapeRange -Objekt zurück, das die angegebenen Objekte darstellt.

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

Top Gibt einen Double -Wert zurück, der den Abstand (in Punkt) vom oberen Rand des Objekts zum Anfang von Zeile 1 (auf einem Arbeitsblatt) oder oben im Diagrammbereich (in einem Diagramm) darstellt, oder legt diesen fest.

ActiveChart.OLEObjects(1).Top =

Visible Gibt einen Boolean-Wert zurück, der bestimmt, ob das Objekt sichtbar ist, oder legt diesen Wert fest.

ActiveChart.OLEObjects(1).Visible = True

Width Gibt einen Double -Wert zurück, der die Breite des Objekts in Punktdarstellt, oder legt diesen fest.

ActiveChart.OLEObjects(1).Width =

OLEObjects.AutoLoad True, wenn das OLE-Objekt beim Öffnen der Arbeitsmappe, in der es enthalten ist, automatisch geladen wird.

ActiveChart.OLEObjects.AutoLoad = True

OLEObjects.Border Gibt ein Border -Objekt zurück, das den Rahmen des Objekts darstellt.

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

OLEObjects.Count Gibt einen Long-Wert zurück, der die Anzahl der Objekte in der Auflistung darstellt.

Dim lngCount As Long
lngCount = ActiveChart.OLEObjects.Count

OLEObjects.Height Gibt einen Double -Wert zurück, der die Höhe des Objekts in Punktdarstellt, oder legt diesen fest.

ActiveChart.OLEObjects.Height =

OLEObjects.Interior Gibt ein Interior-Objekt zurück, das den Innenbereich des angegebenen Objekts darstellt.

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

OLEObjects.Left Gibt einen Double -Wert zurück, der den Abstand (in Punkt) vom linken Rand des Objekts zum linken Rand der Spalte a (auf einem Arbeitsblatt) oder zum linken Rand des Diagrammbereichs (in einem Diagramm) darstellt, oder legt diesen fest.

ActiveChart.OLEObjects.Left =

OLEObjects.Locked Gibt einen Boolean-Wert zurück, der angibt, ob das Objekt gesperrt ist, oder legt diesen fest.

ActiveChart.OLEObjects.Locked = True

OLEObjects.Parent Gibt das übergeordnete Objekt für das angegebene Objekt zurück.

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

OLEObjects.Placement Gibt einen Variant -Wert zurück, der eine XlPlacement -Konstante enthält, die angibt, wie das Objekt an die Zellen darunter angefügt wird, oder legt diesen fest.

ActiveChart.OLEObjects.Placement = xlFreeFloating

OLEObjects.Shadow Gibt einen Boolean-Wert zurück, der bestimmt, ob das Objekt einen Schatten aufweist, oder legt diesen Wert fest.

ActiveChart.OLEObjects.Shadow = True

OLEObjects.ShapeRange Gibt ein ShapeRange -Objekt zurück, das die angegebenen Objekte darstellt.

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

OLEObjects.Top Gibt einen Double -Wert zurück, der den Abstand (in Punkt) vom oberen Rand des Objekts zum Anfang von Zeile 1 (auf einem Arbeitsblatt) oder oben im Diagrammbereich (in einem Diagramm) darstellt, oder legt diesen fest.

ActiveChart.OLEObjects.Top =

OLEObjects.Visible Gibt einen Boolean-Wert zurück, der bestimmt, ob das Objekt sichtbar ist, oder legt diesen Wert fest.

ActiveChart.OLEObjects.Visible = True

OLEObjects.Width Gibt einen Double -Wert zurück, der die Breite des Objekts in Punktdarstellt, oder legt diesen fest.

ActiveChart.OLEObjects.Width =