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

Forumthread: Objekt Name auslesen

Objekt Name auslesen
05.05.2022 09:00:57
Bernd
Hallo zusammen,
ich füge mit dem Makro ein beliebiges Dokument in eine Tabelle ein:
Dim varDatei As Variant
varDatei = Application.GetOpenFilename(FileFilter:="AlleDateien(*.*),*.*", Title:="Bitte einzubettende Datei auswählen")
If varDatei False Then
ActiveSheet.OLEObjects.Add Filename:=varDatei, Link:=False, DisplayAsIcon:=True, IconFileName:="packager.dll", IconIndex:=0, IconLabel:=Mid(varDatei, InStrRev(varDatei, "\") + 1)
End If
Wie kann ich den Namen des gerade eingefügten Dokumentes auslesen?
Bedanke mich schon im Voraus für Eure Hilfe
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Objekt Name auslesen
05.05.2022 09:26:55
UweD
Hallo Bernd
so?

Dim varDatei As Variant, OBJ
varDatei = Application.GetOpenFilename(FileFilter:="AlleDateien(*.*),*.*", Title:="Bitte einzubettende Datei auswählen")
If varDatei  False Then
Set OBJ = ActiveSheet.OLEObjects.Add(Filename:=varDatei, Link:=False, DisplayAsIcon:=True, IconFileName:="packager.dll", IconIndex:=0, IconLabel:=Mid(varDatei, InStrRev(varDatei, "\") + 1))
MsgBox OBJ.Name 'Beispiel
End If
LG UweD
Anzeige
AW: Objekt Name auslesen
05.05.2022 10:11:23
Bernd
Hallo Uwe,
genau das was ich gebaucht habe. Super und vielen Dank
Gruß
Bernd
Danke für die Rückmeldung (owT)
05.05.2022 10:18:15
UweD
;
Anzeige

Infobox / Tutorial

Objekt Name auslesen in Excel VBA


Schritt-für-Schritt-Anleitung

Um den Namen eines eingefügten Objekts in Excel VBA auszulesen, kannst du das folgende Makro verwenden. Es ermöglicht dir, eine Datei auszuwählen, sie in die Tabelle einzufügen und anschließend den Namen des Objekts auszulesen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul ein: Rechtsklick auf "VBAProject (dein Dokument)" > Einfügen > Modul.

  3. Kopiere den folgenden Code in das Modul:

    Dim varDatei As Variant, OBJ
    varDatei = Application.GetOpenFilename(FileFilter:="AlleDateien(*.*),*.*", Title:="Bitte einzubettende Datei auswählen")
    If varDatei <> False Then
       Set OBJ = ActiveSheet.OLEObjects.Add(Filename:=varDatei, Link:=False, DisplayAsIcon:=True, IconFileName:="packager.dll", IconIndex:=0, IconLabel:=Mid(varDatei, InStrRev(varDatei, "\") + 1))
       MsgBox OBJ.Name 'Hier wird der Name des Objekts ausgegeben
    End If
  4. Schließe den VBA-Editor und führe das Makro aus.

Die Meldung zeigt dir den Namen des gerade eingefügten Objekts an.


Häufige Fehler und Lösungen

  • Fehler: "Kein Objekt gefunden."

    • Lösung: Stelle sicher, dass die Datei korrekt ausgewählt wurde und dass es sich um eine unterstützte Datei handelt.
  • Fehler: "Typenübereinstimmung."

    • Lösung: Überprüfe den Code auf Tippfehler oder falsche Variablenzuweisungen.

Alternative Methoden

Wenn du eine alternative Methode zur Objekterstellung und -benennung benötigst, kannst du auch Excel-Formeln verwenden, um den Dateinamen direkt in eine Zelle zu schreiben, nachdem das Objekt eingefügt wurde. Hier ist ein Beispiel:

ActiveSheet.Cells(1, 1).Value = Mid(varDatei, InStrRev(varDatei, "\") + 1)

Dies schreibt den Namen der Datei in die Zelle A1.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du den Code anpassen kannst:

  • Objekt mit Link einfügen:

    Set OBJ = ActiveSheet.OLEObjects.Add(Filename:=varDatei, Link:=True, DisplayAsIcon:=True)
  • Objekt ohne Icon einfügen:

    Set OBJ = ActiveSheet.OLEObjects.Add(Filename:=varDatei, Link:=False, DisplayAsIcon:=False)

Diese Anpassungen erlauben es dir, die Funktionsweise des Einfügens von Objekten in Excel zu variieren.


Tipps für Profis

  • Nutze Option Explicit am Anfang deines Moduls, um sicherzustellen, dass alle Variablen deklariert sind.

  • Verwende Fehlerbehandlungsroutinen, um unerwartete Fehler abzufangen. Beispiel:

    On Error Resume Next
    ' Dein Code hier
    If Err.Number <> 0 Then MsgBox "Ein Fehler ist aufgetreten."
  • Experimentiere mit verschiedenen Dateitypen, um das volle Potenzial von OLE-Objekten auszuschöpfen.


FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um mehrere Dateien auszuwählen? Du kannst die Application.GetOpenFilename-Methode so anpassen, dass sie mehrere Dateien auswählt, indem du MultiSelect:=True hinzufügst. Beachte, dass du dann eine Schleife benötigst, um jede Datei einzufügen.

2. Funktioniert das auch in Excel Online? Leider sind VBA-Makros nur in der Desktop-Version von Excel verfügbar. Excel Online unterstützt keine VBA-Skripte.

3. Was ist der Unterschied zwischen Link und Embed? Ein "Link" verweist auf die Originaldatei, während "Embed" die Datei in deine Excel-Datei einfügt, sodass sie unabhängig von der Originaldatei verwendet werden kann.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige