Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eingebettetes OleObject mit VBA starten

Forumthread: Eingebettetes OleObject mit VBA starten

Eingebettetes OleObject mit VBA starten
Josef
Hallo!
Ich habe in einem Tabellenblatt PDF Dateien eingebettet.
Welche Lösung gibt es bitte, damit ich diese eingebetteten Dateien per VBA starten kann?
Danke
Josef
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Activesheet.OleObjects(1).Verb '_oT
07.07.2010 17:27:14
NoNet
_oT = "ohne Text"
AW: Activesheet.OleObjects(1).Verb '_oT
07.07.2010 17:35:11
Josef
Hallo NoNet!
Danke für Deine Antwort und Deine Hilfe.
Zum besseren Verständnis für mich: Was bedeutet .Verb?
Danke
Standard-Aktion des OLE-Objektes
07.07.2010 17:48:35
NoNet
Hallo Josef,
100%ig weiß ich das auch nicht, aber ich glaube es ist die Standardaktion, die auch bei einem Doppelklick auf das OLEObject ausgeführt wird und das ist zumeist "OPEN" !
Finale :   gegen   &nbsp  2:1 - Revival 2010 ?
Anzeige
AW: Standard-Aktion des OLE-Objektes
07.07.2010 20:02:57
Josef
Danke
;
Anzeige

Infobox / Tutorial

Eingebettete OLE-Objekte in Excel mit VBA steuern


Schritt-für-Schritt-Anleitung

Um eingebettete OLE-Objekte, wie beispielsweise PDF-Dateien, in Excel per VBA zu starten, kannst du folgende Schritte befolgen:

  1. Öffne die VBA-Entwicklungsumgebung:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf „VBAProject (DeineDatei.xlsx)“.
    • Wähle „Einfügen“ > „Modul“.
  3. Schreibe den VBA-Code:

    • Füge den folgenden Code in das Modul ein:
    Sub StartOLEObject()
       Dim oleObj As OLEObject
       Set oleObj = ActiveSheet.OLEObjects(1) ' Nimmt das erste OLE-Objekt auf dem aktiven Blatt
       oleObj.Verb VerbEnum.vbOpen ' Öffnet das OLE-Objekt
    End Sub
  4. Führe den Code aus:

    • Schließe den VBA-Editor und gehe zurück zu Excel.
    • Drücke ALT + F8, wähle „StartOLEObject“ aus der Liste und klicke auf „Ausführen“.

Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 438: Objekt unterstützt diese Eigenschaft oder Methode nicht“

    • Lösung: Stelle sicher, dass das OLE-Objekt korrekt eingebettet ist und die richtige Indexnummer verwendet wird. Überprüfe, ob du das richtige OLE-Objekt ausgewählt hast.
  • Fehler: OLE-Objekt öffnet sich nicht

    • Lösung: Überprüfe, ob das OLE-Objekt eine Standardaktion hat. In den meisten Fällen sollte die Standardaktion „Öffnen“ sein.

Alternative Methoden

Eine alternative Möglichkeit, eingebettete OLE-Objekte zu öffnen, besteht darin, die FollowHyperlink-Methode zu verwenden. Dies kann nützlich sein, wenn du den Pfad zu einer externen Datei hast:

Sub OpenPDF()
    Dim filePath As String
    filePath = "C:\Pfad\zu\deiner\Datei.pdf" ' Ändere den Pfad zur Datei
    ThisWorkbook.FollowHyperlink filePath
End Sub

Praktische Beispiele

Hier sind einige praktische Anwendungen des oben genannten Codes:

  • Öffnen des zweiten OLE-Objekts:

    Set oleObj = ActiveSheet.OLEObjects(2)
    oleObj.Verb VerbEnum.vbOpen
  • Schleife durch alle OLE-Objekte auf einem Blatt:

    Sub OpenAllOLEObjects()
       Dim oleObj As OLEObject
       For Each oleObj In ActiveSheet.OLEObjects
           oleObj.Verb VerbEnum.vbOpen
       Next oleObj
    End Sub

Tipps für Profis

  • Verwende Error Handling: Implementiere Fehlerbehandlung in deinem VBA-Code, um unvorhergesehene Probleme elegant zu lösen.

    On Error Resume Next
    oleObj.Verb VerbEnum.vbOpen
    If Err.Number <> 0 Then
       MsgBox "Fehler beim Öffnen des OLE-Objekts!"
    End If
    On Error GoTo 0
  • Dokumentation: Halte deinen Code gut dokumentiert, damit du und andere Nutzer später verstehen, wie du die eingebetteten OLE-Objekte steuern kannst.


FAQ: Häufige Fragen

1. Was sind OLE-Objekte in Excel?
OLE-Objekte (Object Linking and Embedding) sind Dateien oder Anwendungen, die in eine Excel-Arbeitsmappe eingebettet oder verknüpft werden können, wie z.B. PDFs oder Word-Dokumente.

2. Wie kann ich die Anzahl der OLE-Objekte auf einem Arbeitsblatt anzeigen?
Du kannst die Anzahl der OLE-Objekte mit folgendem Code ermitteln:

MsgBox ActiveSheet.OLEObjects.Count

3. Funktioniert dieser Code in Excel 2016?
Ja, der oben gezeigte VBA-Code funktioniert in Excel 2016 und neueren Versionen. Achte darauf, dass die OLE-Objekte korrekt eingebettet sind.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige