Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Eingebettete Objekte extrahieren/als Datei speichern

Eingebettete Objekte extrahieren/als Datei speichern
19.01.2024 00:44:27
Kisska
Hallo liebe VBA-Experten,

ich habe in einem Word-Dokument mehrere eingebetteten Dateien (pdf, PowerPoint, word, excel, Emails). Diese sollen extrahiert werden. Manuell mache ich das wie folgt: Doppelklick auf eine Datei, dann Speichern unter und lege dann fest, wo die Datei abgespeichert wird. Und das so für jede einzelne Datei.

Gibt es eine möglich per VBA alle Dateien auf einen Schlag mit Originalnamen abzuspeichern? Zusätzlich wäre super, wenn im Dateinamen das letzte Änderungsdatum der jeweiligen Datei stehen würde (Format: JJ-MM-TT_Originalname).

VG, Kisska
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eingebettete Objekte extrahieren/als Datei speichern
20.01.2024 12:18:30
Oberschlumpf
Hi,

du weißt schon, dass du hier in einem Excel-Forum eine "Word"-Frage stellst, oder?
Ok, wenn du das weißt, und eigtl möchtest, dass das Ganze in Excel gelöst werden soll, ohne, dass du dies extra erwähnt hast, dann wäre es schön, nee, nich schön, es wäre sehr hilfreich, wenn du uns bitte per Upload eine Word-Bsp-Datei mit genügend Objekten in der Word-Datei zeigst.

Ciao
Thorsten
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Eingebettete Objekte in Excel als Datei speichern


Schritt-für-Schritt-Anleitung

  1. Öffne die Excel-Datei, in der du eingebettete Objekte hast.

  2. Aktiviere die Entwicklertools, falls sie noch nicht aktiviert sind. Gehe dazu auf "Datei" -> "Optionen" -> "Menüband anpassen" und aktiviere "Entwicklertools".

  3. Öffne den Visual Basic for Applications (VBA) Editor: Drücke ALT + F11.

  4. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDateiName)", wähle "Einfügen" und dann "Modul".

  5. Kopiere den folgenden VBA-Code in das Modul:

    Sub ExtrahiereEingebetteteObjekte()
        Dim obj As Object
        Dim i As Integer
        Dim shp As Shape
        Dim dateipfad As String
        Dim originalName As String
        Dim lastModified As String
    
        dateipfad = "C:\Dein\Speicherort\" ' Ändere den Speicherort
    
        For Each shp In ActiveSheet.Shapes
            If shp.Type = msoEmbeddedOLEObject Then
                originalName = shp.OLEFormat.Object.Name
                lastModified = Format(shp.OLEFormat.Object.LastModified, "DD-MM-YY")
                shp.OLEFormat.Object.SaveAs dateipfad & lastModified & "_" & originalName
            End If
        Next shp
    End Sub
  6. Passe den Speicherort im Code an (C:\Dein\Speicherort\).

  7. Führe das Makro aus: Drücke F5 oder gehe auf "Ausführen" -> "Sub/UserForm ausführen".


Häufige Fehler und Lösungen

  • Fehler: Kein Zugriff auf die Datei
    Lösung: Stelle sicher, dass der angegebene Speicherort existiert und du die entsprechenden Berechtigungen hast.

  • Fehler: Kein eingebettetes Objekt gefunden
    Lösung: Überprüfe, ob die Objekte tatsächlich in der Excel-Tabelle sind und dass die Shapes korrekt erkannt werden.

  • Fehler: Unerwarteter Fehler beim Speichern
    Lösung: Achte darauf, dass der Dateiname keine ungültigen Zeichen enthält. VBA kann keine Dateien mit bestimmten Zeichen im Namen speichern.


Alternative Methoden

  1. Manuelles Speichern: Du kannst jedes eingebettete Objekt manuell extrahieren, indem du einen Doppelklick darauf machst und "Speichern unter" wählst.
  2. Excel Tabelle als Word speichern: Wenn du die Daten in Word benötigst, kannst du die Excel-Tabelle als Word-Dokument speichern. Gehe auf "Datei" -> "Speichern unter", wähle "Word-Dokument" aus.

Praktische Beispiele

  • Beispiel 1: Du hast mehrere Excel-Diagramme als eingebettete Objekte und möchtest sie alle auf einmal als Datei speichern. Verwende den oben genannten VBA-Code.
  • Beispiel 2: Du möchtest eine Excel-Tabelle in ein PDF-Dokument umwandeln, um sie in Word einzufügen. Verwende die Funktion "Speichern unter" und wähle PDF als Format.

Tipps für Profis

  • Automatisierung: Du kannst den Code anpassen, um eine Liste von Dateinamen und Speicherorten automatisch zu generieren.
  • Fehlersuche: Nutze die Debugging-Tools im VBA-Editor, um Probleme im Code zu identifizieren.
  • Backup erstellen: Bevor du mit VBA arbeitest, erstelle immer ein Backup deiner Excel-Datei, um Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich auch PDF-Dateien aus Excel extrahieren?
Ja, du kannst auch PDF-Dateien als eingebettete Objekte in Excel speichern. Der VBA-Code funktioniert für alle Arten von OLE-Objekten.

2. Wie kann ich eingebettete Dokumente in PDF umwandeln?
Wenn du Word-Dokumente als PDF speichern möchtest, kannst du sie zunächst in Word öffnen und dort "Speichern unter" wählen, um das PDF-Format auszuwählen.

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