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

Eingebettetes Objekt per Makro öffen

Forumthread: Eingebettetes Objekt per Makro öffen

Eingebettetes Objekt per Makro öffen
23.07.2007 20:31:00
Erik
Hallo Ihr,
seht Ihr eine Möglichkeit ein Objekt (sagen wir mal Vertrag.pdf), welched in das Tabellenblatt (sheet1) eingebettet ist per Makro zu öffen?
Ich kann nirgens, auch nur ansatzweise Hilfe dazu finden.
Vielen herzlichen Dank & Grüsse,
Erik

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingebettetes Objekt per Makro öffen
23.07.2007 21:06:00
Matthias
Hallo
leg doch ein Makro auf das Objekt.
Beim Klick auf das Objekt, dann mit der Shell-Funktion per Makro das entsprechende Programm öffnen.
Userbild

AW: Eingebettetes Objekt per Makro öffen
23.07.2007 21:48:30
Daniel
Hi
schon mal probiert, den Makro-Rekorder mitlaufen zu lassen, wenn du das eingebettete Objekt von Hand öffnest?
bei mir zeichnet er folgendes auf, und das lässt sich auch abspielen (allerdings glaube ich kaum daß bei dieser Frage die Excel-Version KEINE Rolle spielt).

Sub Makro1()
ActiveSheet.Shapes("Object 1").Select
Selection.Verb
End Sub


Anzeige
AW: Eingebettetes Objekt per Makro öffen
23.07.2007 23:46:00
Nepumuk
Hallo Daniel,
auch das geht, wie fast alles in VBA, ohne Select - Methode.
Public Sub test2()
    Tabelle2.Shapes("Objekt 1").OLEFormat.Verb Verb:=xlVerbOpen
End Sub

Gruß
Nepumuk

Anzeige
AW: Eingebettetes Objekt per Makro öffen
23.07.2007 23:51:45
Daniel
Hi
jo, aber nur wenn man weiß, daß man noch das .OLEFormat. einfügen muß.
gibts dazu irgendwo nen Hinweis in der Hilfe?
Gruß, Daniel

AW: Eingebettetes Objekt per Makro öffen
23.07.2007 23:57:38
Nepumuk
Hallo Daniel,
sowas findest du im Objektkatalog, wenn du nach Verb suchst:
Sub Verb([Verb])
Element von Excel.OLEFormat

Gruß
Nepumuk

Anzeige
AW: Eingebettetes Objekt per Makro öffen
25.07.2007 19:59:22
Daniel
Danke für den Hinweis.
aber so richtig logisch ist es trotzdem nicht.
bei Range-Objekten oder so kann ich einfach das xxx.SELECT SELECTION.yyy elemnineren, in dem ich einfach schreibe xxx.yyy, bei Shapes oder änhlichem muß ich erst den Begriff OLEFormat dazwischen setzen, obwohl es bei der SELECT-Variante ohne diesen Begriff funktioniert hat.
Gruß, Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Eingebettete Objekte in Excel per Makro öffnen


Schritt-für-Schritt-Anleitung

Um ein eingebettetes Objekt (z.B. eine PDF-Datei) in Excel per Makro zu öffnen, folge diesen Schritten:

  1. Makro erstellen: Öffne deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Modul hinzufügen: Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  3. Code eingeben: Füge den folgenden VBA-Code in das Modul ein:

    Sub ÖffneEingebettetesObjekt()
       ActiveSheet.Shapes("Objekt 1").OLEFormat.Verb Verb:=xlVerbOpen
    End Sub

    Ersetze "Objekt 1" durch den Namen deines eingebetteten Objekts.

  4. Makro ausführen: Schließe den VBA-Editor und kehre zu Excel zurück. Drücke ALT + F8, wähle das Makro ÖffneEingebettetesObjekt aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  1. Fehler: Objekt nicht gefunden
    Lösung: Stelle sicher, dass der Name des Objekts korrekt ist. Du kannst den Namen ändern, indem du das Objekt auswählst und im Eigenschaftenfenster umbenennst.

  2. Fehler: Makro funktioniert nicht
    Lösung: Überprüfe, ob Makros in deiner Excel-Version aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option.


Alternative Methoden

Eine weitere Möglichkeit, ein eingebettetes Objekt zu öffnen, ist die Verwendung des Makro-Rekorders:

  1. Starte den Makro-Rekorder (Entwicklertools > Aufzeichnen).
  2. Öffne das eingebettete Objekt manuell.
  3. Stoppe die Aufzeichnung und überprüfe den generierten Code. Dieser könnte so aussehen:

    Sub Makro1()
       ActiveSheet.Shapes("Objekt 1").Select
       Selection.Verb
    End Sub

Du kannst diesen Code anpassen, um die .OLEFormat-Methode zu nutzen.


Praktische Beispiele

Hier ist ein Beispiel, wie du ein PDF-Dokument namens Vertrag.pdf öffnen kannst:

Sub ÖffneVertrag()
    ActiveSheet.Shapes("Vertrag").OLEFormat.Verb Verb:=xlVerbOpen
End Sub

Achte darauf, dass du den Shape-Namen auf Vertrag anpasst.


Tipps für Profis

  • Nutze die Shell-Funktion, um spezifische Programme zu öffnen, wenn du mehr Kontrolle benötigst.
  • Erstelle Fehlerbehandlungsroutinen, um unerwartete Probleme beim Öffnen von Objekten zu vermeiden:

    On Error Resume Next
    ActiveSheet.Shapes("Objekt 1").OLEFormat.Verb Verb:=xlVerbOpen
    If Err.Number <> 0 Then
       MsgBox "Das Objekt konnte nicht geöffnet werden."
    End If
    On Error GoTo 0

FAQ: Häufige Fragen

1. Kann ich auch andere Dateiformate öffnen?
Ja, du kannst verschiedene Dateiformate öffnen, solange sie als eingebettete Objekte in Excel vorhanden sind.

2. Welche Excel-Version benötige ich für diese Makros?
Die beschriebenen Makros funktionieren in den meisten modernen Excel-Versionen, einschließlich Excel 2016 und später.

3. Wo finde ich weitere Informationen zu VBA?
Schau im Objektkatalog in der Excel-Hilfe nach, um mehr über die verfügbaren Objekte und deren Methoden zu erfahren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige