Was ist ein OLE-Objekt? — Einbetten, Verknüpfen und die Fallstricke in Geschäftsdokumenten

· Aktualisiert am: · · Windows, OLE, COM, Office, Access, Windows-Entwicklung, Altbestände

Änderungsverlauf (Erstfassung, veröffentlicht am 28. Aug 2026)
Erstveröffentlichung

„Ich habe in einer Word-Spezifikation auf eine Tabelle doppelgeklickt, und das Menü wurde zu dem von Excel.“ Genau das geschieht, wenn die Tabelle nicht als bloßes Bild, sondern als OLE-Objekt im Dokument liegt.

OLE steht für Object Linking and Embedding (Objektverknüpfung und -einbettung). Dokumentdaten, die eine andere Anwendung erzeugt hat, werden in ein Containerdokument integriert, entweder durch Einbetten oder durch Verknüpfen. Technisch ist die Entität ein COM-Objekt, das sich in ein Dokument einbetten oder damit verknüpfen lässt.12

Der Ausgangspunkt zum Verständnis ist die Frage: „Wo liegen die eigentlichen Daten?“ Sobald das klar ist, lassen sich einordnen, warum Dokumente groß werden, warum Verknüpfungen beim Umzug eines Servers reißen und warum eine Tabelle sichtbar, aber nicht bearbeitbar sein kann.

Dieser Artikel richtet sich an IT-Verantwortliche in kleinen und mittleren Unternehmen und an Entwickler von Geschäftsanwendungen. Er vergleicht zuerst Einbetten und Verknüpfen und geht dann zu alltäglichen Bedienungen, zur Diagnose nach Symptomen sowie zu den Hinweisen für Access und Sicherheit über. Die Interna wie COM und Structured Storage stehen in Abschnitt 7, die Entscheidungen zu künftigem Betrieb und Entwurf in Abschnitt 8.

1. Zuerst die Schlussfolgerung: Einbetten ist eine „Kopie im Dokument“, Verknüpfen ein „Verweis auf einen anderen Ort“

Der Unterschied zwischen Einbetten und Verknüpfen ist der Speicherort der eigentlichen Daten. Übertragbarkeit, Dateigröße und die Art der Aktualisierung folgen alle aus diesem Unterschied.3

Vergleichspunkt Einbetten (Embedding) Verknüpfen (Linking)
Wo die eigentlichen Daten liegen Im Containerdokument An der Verknüpfungsquelle, meist in einer eigenen Datei
Was das Dokument speichert Die Daten selbst und Verwaltungsinformationen, gewöhnlich auch einen Präsentationscache Verwaltungsinformationen wie Name und Speicherort der Quelle sowie die Aktualisierungseinstellung, gewöhnlich auch einen Präsentationscache
Wenn sich die Originaldaten ändern Die eingebettete Kopie wird nicht aktualisiert Kann je nach Aktualisierungseinstellung der Verknüpfung übernommen werden
Wenn Sie das Objekt bearbeiten Sie bearbeiten die Kopie im Dokument; die Originaldaten bleiben unberührt Sie bearbeiten die Daten an der Verknüpfungsquelle
Dokumentgröße In der Regel größer als beim Verknüpfen desselben Inhalts, weil ein Duplikat der Daten gehalten wird Leichter klein zu halten, weil die Daten nicht im Dokument liegen
Übergabe des Dokuments an einen anderen PC Unabhängig von der Originaldatei, zum Bearbeiten ist jedoch die Ursprungsanwendung nötig Die Verknüpfungsquelle muss auch vom empfangenden PC aus erreichbar sein
Wichtige Hinweise Aufblähung, Abhängigkeit von der Ursprungsanwendung Tote Verknüpfungen, Aktualisierungseinstellungen, Abhängigkeit von der Ursprungsanwendung

Einbetten eignet sich, wenn das Dokument unabhängig von der Originaldatei sein soll. Verknüpfen eignet sich, wenn mehrere Dokumente dieselben Daten teilen und Änderungen am Original übernommen werden sollen. Die Aktualisierung einer Verknüpfung ist jedoch nicht unbedingt automatisch. Ob sie automatisch oder manuell erfolgt, legt eine Einstellung auf der Dokumentseite fest.456

Unterschied zwischen Einbetten und VerknüpfenBeim Einbetten werden die eigentlichen Daten vollständig im Containerdokument gespeichert, sodass das Dokument eigenständig, aber größer wird; beim Verknüpfen stehen im Dokument nur Verweis, Aktualisierungseinstellung und gewöhnlich Anzeigeinformationen, während die eigentlichen Daten in der Quelldatei bleiben, sodass das Dokument klein bleibt und Änderungen an der Quelle je nach Aktualisierungseinstellung (automatisch oder manuell) übernommen werden könnenContainerdokument (Word-Dokument usw.)Einbetten: speichert die Daten selbstVerknüpfen: Verweis, Einstellungen und (meist) AnzeigeinfoEigenständig, aber größerQuelldatei der Verknüpfung (die Daten liegen hier)Änderungen der Quelle können übernommen werden (je nach Einstellung)

Abbildung 1: Ob das Dokument die Daten selbst hält oder auf Daten an einem anderen Ort verweist. Dieser Unterschied bestimmt Größe, Aktualisierung und Übergabe.

„Die Daten liegen im Dokument“ und „es lässt sich auf jedem PC bearbeiten“ sind zwei verschiedene Dinge. Bleibt außerdem ein Präsentationscache, kann nur das letzte Aussehen angezeigt werden, selbst wenn die Ursprungsanwendung oder die Verknüpfungsquelle nicht verfügbar ist. „Es ist sichtbar“, „es lässt sich bearbeiten“ und „es ist aktuell“ zu trennen ist die Grundlage der Diagnose.78

In der Abbildung kennzeichnet eine durchgezogene Linie eine stets geltende Beziehung und eine gestrichelte Linie eine bedingte (die Bedingungen stehen bei jeder Beziehung auf der Detailseite). Die vollständige Liste der Beziehungen (25 insgesamt, mit Beleg und Sicherheitsgrad) und die Definitionen der wichtigsten Konzepte sind auf der Detailseite der Wissenskarte (auf Japanisch) zusammengestellt. Daten: JSON-LD / Turtle

2. Wo OLE-Objekte vorkommen und wie sie ins Dokument gelangen

2.1 Man trifft sie in Word, Excel, Access und alten Geschäftsdokumenten

OLE trägt seit den 1990er-Jahren die Dokumentkultur von Windows. Der Mechanismus ist heute noch im Einsatz, für die Praxis ist er jedoch weniger eine Technik, die man in neuen Entwürfen aktiv wählen sollte, als eine, der man in bestehenden Dokumenten und Datenbanken begegnet.

Ort Einstieg zum Erzeugen eines OLE-Objekts Beispiele für den Inhalt
Word / Excel / PowerPoint Einfügen > Objekt, Inhalte einfügen Excel-Arbeitsblätter, Word-Dokumente, Zeichnungen, Formeln
Access Felder vom Typ OLE-Objekt Bilder, Excel-Blätter, Dateien verschiedener Art
Rich-Text-Dokumente (RTF) Frühere Einfügungen in WordPad und Ähnlichem Zeichnungen, Objekte anderer Anwendungen
Alte Formulare und Spezifikationen Einbettungen früherer Mitarbeiter Daten, die „per Doppelklick geöffnet“ werden sollten

Datenbanken, die Mitarbeiterfotos oder Produktbilder in Access-Feldern vom Typ OLE-Objekt gespeichert haben, sind ein weiteres typisches Altbestand. Diese Nutzung hat ein Aufblähungsproblem, und Abschnitt 5 behandelt die Migrationsentscheidung.9

2.2 „Objekt einfügen“ und „Inhalte einfügen“

Objekt einfügen lässt Sie wählen, ob Sie ein neues Objekt erzeugen oder eines aus einer vorhandenen Datei. Es gibt außerdem die Anzeigeoption „Als Symbol anzeigen“.

Inhalte einfügen lässt Sie das Datenformat wählen und zusätzlich, ob eingebettet oder verknüpft werden soll. Die Einträge, die dort als „…-Objekt“ stehen, sind die Optionen, die als OLE eingefügt werden. Sowohl die gespeicherten Daten als auch die spätere Bearbeitung unterscheiden sich vom Einfügen als bloßes Bild.1011

Diese beiden entsprechen den OLE-Standarddialogen Insert Object und Paste Special; MFC stellt Klassen für ihre Anzeige bereit. Den Unterschied zwischen dem Weg, der Objekte aus Kopieren und Einfügen oder Drag-and-Drop erzeugt, und dem Weg, der sie direkt aus einer registrierten Klasse oder einer Datei erzeugt, erklärt Abschnitt 7.1.1012

3. Was beim Doppelklick geschieht

3.1 Der Host ist der „Container“, die Anwendung, die bearbeitet, der „Server“

Enthält ein Word-Dokument eine Excel-Tabelle, ist Word der OLE-Container, der sie aufnimmt, und Excel, das die Bearbeitung der Tabelle übernimmt, der OLE-Server. Ein Dokument, das Daten mehrerer Anwendungen in einem einzigen Dokument führt, heißt OLE-Verbunddokument.12

Word implementiert nicht alle Bearbeitungsfunktionen von Excel. Der Mechanismus nutzt die Funktionen der Ursprungsanwendung, wenn Sie das Objekt bedienen. Deshalb braucht das Bearbeiten die Ursprungsanwendung, selbst wenn die Daten selbst im Dokument gespeichert sind.

3.2 Ein Doppelklick führt das vom Objekt gewählte „Hauptverb“ aus

Ein OLE-Objekt definiert die Operationen, die sich daran ausführen lassen, als Verben (verbs): Bearbeiten für eine Tabelle, Wiedergeben für Audio und so weiter.

Die Host-Anwendung reagiert auf einen Doppelklick oder eine ähnliche Aktion mit dem Aufruf von IOleObject::DoVerb. Was die Standardoperation, das Hauptverb (OLEIVERB_PRIMARY), tut, entscheidet das Objekt, nicht der Host. DoVerb startet die OLE-Serveranwendung automatisch und führt die zu diesem Objekt passende Operation aus. Ein Doppelklick bedeutet nicht immer Bearbeiten.13

3.3 Wann die Bearbeitung in Word stattfindet und wann ein eigenes Fenster öffnet

Unterstützen sowohl das eingebettete Objekt als auch der Host In-Place Activation (Aktivierung an Ort und Stelle), lässt sich das Objekt im Fenster des Hosts bearbeiten. Die Menüleiste wird durch eine zusammengesetzte Menüleiste ersetzt, die die Menüs von Container und Server zusammenführt. Das ist der Mechanismus, durch den in Word die Bearbeitungsmenüs von Excel erscheinen. Ein Klick außerhalb des Objekts deaktiviert es und stellt die ursprünglichen Menüs wieder her.14

Vom Doppelklick zur In-Place ActivationDie Host-Anwendung reagiert auf einen Doppelklick, indem sie das Hauptverb über DoVerb von IOleObject ausführt, OLE startet die Serveranwendung, und wenn Host und Server In-Place Activation unterstützen, wird das eingebettete Objekt im Host-Fenster mit zusammengeführten Menüs bearbeitet; ein Klick außerhalb deaktiviert es und stellt die ursprünglichen Menüs wieder her (unterstützt eine Seite es nicht, erfolgt die Bearbeitung in einem eigenen Fenster)OLE / Server-AppHost-App (Word usw.)BenutzerOLE / Server-AppHost-App (Word usw.)Benutzeralt[Beide unterstützen In-Place Activation][Eine Seite unterstützt es nicht]Doppelklick auf das eingebettete ObjektHauptverb über DoVerb ausführenServer starten, Menüs zusammenführenAn Ort und Stelle bearbeitenAußerhalb des Objekts klickenDeaktivieren, ursprüngliche Menüs wiederherstellenIn einem eigenen Fenster bearbeiten

Abbildung 2: Die Bearbeitung eines eingebetteten Objekts an Ort und Stelle erfordert Unterstützung von Container und Server. Fehlt sie, erfolgt die Bearbeitung in einem eigenen Fenster.

Wie ein Objekt öffnet, hängt vom Objekttyp, vom ausgeführten Verb und davon ab, was die Anwendungen unterstützen.

Bedingung Wie es öffnet
Eingebettet, beide Seiten unterstützen In-Place Activation, und die Bearbeitung erfolgt an Ort und Stelle Bearbeitung im Fenster des Hosts
Eingebettet, aber eine Seite unterstützt In-Place Activation nicht Bearbeitung in einem eigenen Fenster
Eingebettet, mit Angabe von OLEIVERB_OPEN Öffnen in einem eigenen Fenster
Ein verknüpftes Objekt Immer in einem eigenen Fenster geöffnet

In-Place Activation setzt Einbetten voraus; für Verknüpfungen wird sie nicht verwendet. Die Implementierung ist außerdem für Container und Server optional. Allein die Tatsache, dass „dasselbe Dokument unterschiedlich öffnet“, ist kein Grund, von einer Störung zu sprechen.11413

4. Diagnose nach Symptom: aktualisiert nicht, zu groß, öffnet nicht

4.1 Die Tabelle ist sichtbar, Änderungen an der Verknüpfungsquelle werden aber nicht übernommen

Prüfen Sie den Speicherort der Verknüpfungsquelle und die Aktualisierungsmethode der Verknüpfung. Was eine Verknüpfung auf der Dokumentseite hält, sind nicht die Daten selbst, sondern Verwaltungsinformationen wie Name und Speicherort der Quelle und die Aktualisierungseinstellung sowie gewöhnlich ein Präsentationscache.155

Das Auffinden der Verknüpfungsquelle übernimmt eine COM-Komponente namens Moniker. Macht ein Dateiserverumzug, eine Ordnerumbenennung, eine Änderung des Freigabepfads, das Löschen der Originaldatei oder Ähnliches den neuen Ort unauffindbar, schlägt das Auflösen der Verknüpfung fehl. Das ist eine tote Verknüpfung.

Wurde ein Präsentationscache gespeichert, bleibt die alte Tabelle im Dokument. Dass eine Tabelle angezeigt wird, ist kein Beleg dafür, dass die Verknüpfung in Ordnung ist. Wurde das Objekt mit einer Einstellung ohne Cache erzeugt, bleibt nicht einmal dieses letzte Aussehen.78

Die Behebung besteht darin, unter Verknüpfungen bearbeiten den Quellpfad auf den neuen Ort zu setzen. Ist der Pfad korrekt und das Objekt aktualisiert sich nicht, kann es einfach auf manuelle Aktualisierung stehen; prüfen Sie daher auch die Aktualisierungsmethode. Wann Änderungen an der Quelle übernommen werden, hängt von der Einstellung automatische oder manuelle Aktualisierung ab.6

Gibt es viele Dokumente, die stark auf Verknüpfungen setzen, nehmen Sie eine Inventur vor dem Umzug und die Aktualisierung der Verknüpfungen nach dem Umzug in den Dateiserver-Migrationsplan auf. Planen Sie nach Möglichkeit auch eine Sammelaktualisierung. Merken Sie es erst nach dem Umzug, müssen Sie Dokument für Dokument die Quellen suchen, die frühere Mitarbeiter verwendet haben.

4.2 Ein Word- oder Excel-Dokument ist ungewöhnlich groß

Prüfen Sie, ob erneutes Bearbeiten nötig ist, und überdenken Sie, ob das Dokument die Daten selbst halten muss. Einbetten dupliziert die Daten und speichert sie im Dokument, deshalb ist das Dokument in der Regel größer, als wenn derselbe Inhalt verknüpft wird. Gewöhnlich wird außerdem ein Präsentationscache gespeichert, das Dokument enthält also nicht unbedingt nur die Daten für die Bearbeitung.47

Wird ein Bericht mit vielen eingebetteten Tabellen groß und braucht lange zum Öffnen, verdächtigen Sie diese Struktur. Wählen Sie die Abhilfe passend zur Nutzung der Daten.

Wie die Daten genutzt werden Wie Sie es umstellen
Im Dokument ist kein erneutes Bearbeiten nötig Als Bild einfügen
Die Originaldaten werden geteilt und Änderungen sollen übernommen werden Die Originaldatei gesondert teilen und im Dokument eine Verknüpfung setzen
Die Originaldaten werden woanders verwaltet, das Dokument braucht nur das Aussehen Die Originaldatei teilen und im Dokument nur ein Bild setzen

Bedenken Sie jedoch: Der Wechsel zu Verknüpfungen, um die Größe zu senken, bringt die Pflicht, die Quellen zu verwalten. In Dokumenten, die verteilt werden, reißt der Verweis leicht, deshalb ist ein pauschales „jede Einbettung in eine Verknüpfung verwandeln“ nicht die richtige Abhilfe.

4.3 Doppelklick öffnet oder bearbeitet das Objekt nicht

Prüfen Sie zuerst, ob die Ursprungsanwendung für dieses Objekt auch auf dem aktuellen PC vorhanden ist. Die Eigenständigkeit des Einbettens betrifft den Speicherort der Daten; die Bearbeitungsfunktionen liegen nicht im Dokument.

Fehlt die Ursprungsanwendung, lässt sich nur die Anzeige nutzen, sofern ein Präsentationscache gespeichert wurde. Zwischengespeicherte Präsentationsdaten sind so ausgelegt, dass der Container sie auch dann nutzen kann, wenn die Serveranwendung nicht läuft oder nicht verfügbar ist.7

Wurde das Objekt jedoch mit „Als Symbol anzeigen“ eingefügt, sehen Sie das Symbol, nicht den Inhalt. Bei einem Objekt ohne Cache bleibt nicht einmal das letzte Aussehen. Ob ein Cache existiert, hängt vom zum Erstellungszeitpunkt angegebenen OLERENDER-Wert ab.8

Ist die Ursprungsanwendung vorhanden und das Objekt öffnet sich trotzdem nicht, grenzen Sie in dieser Reihenfolge ein.

  1. Prüfen Sie die Versionskompatibilität der Anwendung. Eine Typkonvertierung kann nötig sein, und OLE hat einen Standarddialog dafür.
  2. Prüfen Sie auf eine fehlende oder beschädigte COM-Klassenregistrierung (CLSID). Die Reparatur der Registrierung kann eine Neuinstallation der Anwendung oder Ähnliches erfordern.
  3. Prüfen Sie auf Blockierung durch Sicherheitseinstellungen und auf Beschädigung auf der Dokumentseite.10

Bei Dokumenten unbekannter Herkunft stellen Sie das Öffnen nicht in den Vordergrund; praktizieren Sie, das Objekt nicht zu aktivieren. Die sicherheitstechnische Behandlung erklärt Abschnitt 6.

5. In Access „nur speichern“ von „OLE-Verhalten nötig“ trennen

5.1 Bilder in einem Feld vom Typ OLE-Objekt neigen dazu, die Datenbank aufzublähen

Der Datentyp OLE-Objekt in Access ist ein Feldtyp zum Einbetten oder Verknüpfen von Objekten wie Excel-Tabellen, Word-Dokumenten, Zeichnungen und Klängen in einer Tabelle. Die Obergrenze liegt bei etwa 1 GB.9

Diesen Typ nur zum Speichern von Mitarbeiterfotos oder Produktbildern zu verwenden macht die Speichereffizienz zum Problem. Microsoft erklärt, dass der Datentyp Anlage flexibler ist als der Datentyp OLE-Objekt und Speicher effizienter nutzt, weil er kein Bitmap-Bild der Originaldatei erzeugt.9

Der Wechsel zum Typ Anlage hebt die Größengrenzen jedoch nicht auf.

Punkt Einschränkung oder Eigenschaft
Formate, die den Typ Anlage unterstützen .accdb
Maximale Größe der gesamten Datenbank 2 GB
Maximale Größe jeder angefügten Datei 256 MB
Anzeige von Bildern BMP, PNG, JPEG und Ähnliches werden ohne zusätzliche Software angezeigt

Das sind Einschränkungen des Access-Typs Anlage. Sie betreffen einen anderen Gegenstand als die Grenze von rund 1 GB des Typs OLE-Objekt.16

5.2 Zum bloßen Speichern den Typ Anlage oder einen Ordner mit Pfadverwaltung verwenden

In einem neuen Entwurf, der nur Bilder oder Dateien speichern muss, besteht kein Grund, den Typ OLE-Objekt zu wählen. Ziehen Sie den Typ Anlage in Betracht oder einen Entwurf, der die Dateien in einem Ordner ablegt und in der Datenbank nur die Pfade hält. Auch für bestehende Datenbanken sind diese beiden die Migrationsziele.

Es ist eine andere Sache, wenn Sie OLE-spezifisches Verhalten brauchen, etwa Verknüpfen oder Aktivierung. Dann treffen Sie die Entscheidung einschließlich Beibehalten des Status quo. Statt „sofort ersetzen, weil es der Typ OLE-Objekt ist“, trennen Sie zuerst, ob es bloßes Speichern ist oder ob es als Objekt arbeiten muss.916

6. Sicherheit: Gewöhnliches Einbetten und OLE-Pakete unterschiedlich behandeln

6.1 Ein Dokument wird zum Einstieg, eine andere Anwendung auszuführen

Bei OLE wird ein Objekt einer anderen Anwendung in ein Dokument gebracht und auf dem PC dessen ausgeführt, der es öffnet. Diese Struktur ist auch für Angreifer ein Transportmittel.

Tatsächlich wurde CVE-2014-4114, eine Schwachstelle, die über PowerPoint-Dateien und Ähnliches mit einem präparierten OLE-Objekt beliebigen Code ausführt, in gezielten Angriffen genutzt. Weil Office-Formate und andere, die OLE-Objekte halten können, zu Angriffswegen werden können, wird aus „ich wollte das Dokument nur lesen“ ein Einstieg zur Ausführung.17

6.2 Die Aktivierung von OLE-Paketen organisationsweit blockieren

OLE-Pakete (Object Packager) verdienen besondere Aufmerksamkeit. Sie sind ein alter Mechanismus, der eine beliebige Datei als OLE-Objekt in ein Dokument hüllt, und können auch ausführbare Dateien enthalten. Eine Schwachstelle zur Remotecodeausführung im Zusammenhang mit Object Packager ist ebenfalls veröffentlicht.18

Deshalb ist das Unterbinden der Aktivierung von OLE-Paketen in Word, Excel und PowerPoint per Registrierungseinstellung eine Härtungsmaßnahme. Der an Essential Eight der australischen Regierung ausgerichtete Leitfaden von Microsoft zeigt das Verfahren, ein PowerShell-Skript für diese Einstellungen über Intune in der Organisation zu verteilen.19

Teilen Sie die Betriebspraxis in drei Punkte.

  • Öffnen Sie Objekte in Dokumenten unbekannter Herkunft nicht und lassen Sie sie nicht öffnen. Behandeln Sie die Aktivierung als Vorgang mit demselben Gewicht wie das Öffnen einer anderen Datei.
  • Blockieren Sie die Aktivierung von OLE-Paketen organisationsweit. Im normalen Betrieb wird sie so gut wie nie gebraucht, verlassen Sie sich also nicht allein auf individuelle Vorsicht.
  • Verhängen Sie kein pauschales Verbot, das auch gewöhnliches Einbetten und Verknüpfen in internen Dokumenten erfasst. Beurteilen Sie das Risiko von Paketen und präparierten Dokumenten getrennt von der bestehenden geschäftlichen Nutzung.

Die Schlussfolgerung dieses Artikels ist nicht „OLE vollständig verbieten“. Statt die Arbeit durch ein einheitliches Verbot selbst gewöhnlicher eingebetteter Excel-Tabellen zu stoppen, geht es darum, Objekte unbekannter Herkunft und OLE-Pakete in den Mittelpunkt zu stellen.

7. Interna: Die Rollen von COM, Structured Storage und Monikern

Ab hier rückt die Erklärung näher an die Implementierung, soweit es für die Wartung von Geschäftsanwendungen und die Untersuchung von Dokumentbeständen nötig ist. Sie ordnet die bisherigen Symptome dem zu, „welcher Mechanismus zuständig ist“.

7.1 Die drei Fundamente von OLE-Verbunddokumenten

OLE-Verbunddokumente ruhen auf COM, Structured Storage und Uniform Data Transfer. Zusätzlich zu COMs IUnknown stellt ein Objekt verbunddokumentspezifische Schnittstellen wie IOleObject und IViewObject2 bereit. Ein verknüpftes Objekt implementiert zusätzlich IOleLink.2

Fundament Zuständigkeit Wichtige Schnittstellen
COM Das Objekt selbst und der Vertrag für den Umgang damit IUnknown, IOleObject, IViewObject2 und IOleLink für Verknüpfungen
Structured Storage Hierarchische Speicherung im Dokument IStorage, IStream
Uniform Data Transfer Der Einstieg zum Erzeugen von Einbettungen und Verknüpfungen aus Kopieren und Einfügen oder Drag-and-Drop IDataObject

Auf dem Datenübertragungsweg bietet der OLE-Server seine Daten über IDataObject an und teilt dem Container über eigene Zwischenablageformate mit, ob sie als Einbettung oder als Verknüpfung eingefügt werden können. Daraus entstehen die Optionen in Inhalte einfügen.12

Allerdings läuft nicht jede Erzeugung über IDataObject. Das Erzeugen eines neuen Objekts über Objekt einfügen oder aus einer vorhandenen Datei ist ein eigener Weg, der das Objekt direkt aus einer registrierten Klasse oder einer Datei erzeugt. Die Mechanik von Zwischenablage und Drag-and-Drop selbst behandelt „Wie Zwischenablage und Drag-and-Drop funktionieren“.

7.2 Structured Storage ist „ein Dateisystem in einer einzigen Datei“

Structured Storage erzeugt in einer einzigen Datei eine Hierarchie aus Storages (IStorage), die Verzeichnissen entsprechen, und Streams (IStream), die Dateien entsprechen. Unter dem Root-Storage können Substorages und Streams geschachtelt werden.20

Die von COM bereitgestellte Standardimplementierung sind Verbunddateien (Compound Files). Es ist ein Einzeldateiformat, das unabhängig von Dateisystemen wie FAT und NTFS behandelt werden kann, und das Format selbst ist als MS-CFB (Compound File Binary File Format) veröffentlicht.2122

Der Container stellt den Ort bereit, an dem das Objekt gespeichert wird. Ein Objekt, das über IPersistStorage persistiert, schreibt seine Daten in den übergebenen IStorage. Eine Implementierung, die IPersistStream nutzt, speichert stattdessen in einen IStream.2

Interne Struktur einer VerbunddateiEine Verbunddatei hat unter ihrem Root-Storage eine Hierarchie aus Storages, die Verzeichnissen entsprechen, und Streams, die Dateien entsprechen; eingebettete Objekte, die über IPersistStorage persistieren, werden in Substorages gespeichert und Objekte, die über IPersistStream persistieren, in Streams; der Storage eines eingebetteten Objekts kann eine CLSID tragen, die die Ursprungsanwendung identifiziert (sie kann auch leer sein); der Stream des Präsentationscaches wird gewöhnlich gespeichert, kann aber je nach Einstellung zum Erstellungszeitpunkt fehlen; das Ganze arbeitet als Dateisystem in einer einzigen DateiRoot-Storage (Dokumentkörper)Stream: KörperdatenStorage: Einbettung (IPersistStorage)Stream: ObjektdatenStream: Präsentationscache (üblich)CLSID kann den Ursprung identifizieren (optional)Stream: IPersistStream-Persistenz

Abbildung 3: Im Dokument wird eine Hierarchie aufgebaut, und das Objekt speichert seine eigenen Daten. Unterscheiden Sie Persistenz über einen Storage von Persistenz über einen Stream.

Ein Verzeichniseintrag kann eine CLSID tragen, die die Ursprungsanwendung des Objekts identifiziert. Enthält der Storage der Einbettung eine CLSID, lässt sich feststellen, welche Anwendung das Objekt öffnen sollte. Die CLSID kann jedoch leer sein, und der Präsentationscache kann je nach Einstellung zum Erstellungszeitpunkt ebenfalls fehlen.228

7.3 Der Wechsel zu .docx hat das OLE-Speicherformat nicht verschwinden lassen

In den alten Office-Formaten .doc / .xls ist die Datei selbst eine Verbunddatei. Der Dokumentkörper wird als Streams gespeichert, eingebettete Objekte als Substorages.

Die heutigen .docx / .xlsx sind ZIP-basierte Open-XML-Formate, aber die Binärdateien älterer OLE-Einbettungen, oleObject*.bin, werden weiterhin im Verbunddateiformat gespeichert. Werden dagegen neue Office-Dokumente ineinander eingebettet, kann eine Datei wie ein .xlsx unverändert im ZIP liegen.22

Was gespeichert wird Speichergefäß
Alte Office-Formate .doc / .xls Die gesamte Datei ist eine Verbunddatei
Ältere OLE-Einbettungen in heutigen Formaten Eine Binärdatei im ZIP ist eine Verbunddatei
Neue Office-Dokumente, die ineinander eingebettet sind Können als Datei im ZIP gespeichert sein

Mit anderen Worten: Die Verbunddatei ist nicht bloß „ein altes Dokumentformat“; sie überlebt in heutigen Dokumenten als geschachteltes Speicherformat.

7.4 Moniker verfolgen den Ort der Verknüpfung; die Verknüpfungseinstellungen steuern die Aktualisierung

Ein Moniker ist eine COM-Komponente, die den Ort eines Objekts als Namen ausdrückt und ihn bei Bedarf auflöst. Dieses Auflösen heißt Binden (Binding). Ein verknüpftes Objekt nutzt Moniker, um Benennung, Verfolgung und Aktivierung der Verknüpfungsquelle zu verwalten.15

IOleLink ist die Schnittstelle, die dem Container die Verwaltung der Verknüpfungsquelle bereitstellt. Ihr Vorhandensein oder Fehlen lässt den Container eine Einbettung von einer Verknüpfung unterscheiden. Auch wenn ein Dokument mit einer Verknüpfung gespeichert wird, werden die Daten der Verknüpfung selbst an der Quelle gespeichert. Im Dokument bleiben die eigenen Verwaltungsinformationen der Verknüpfung, etwa Name und Speicherort sowie die Aktualisierungseinstellung, und gewöhnlich ein Präsentationscache.15

Diese Arbeitsteilung führt zu dem „die Tabelle ist sichtbar, aktualisiert sich aber nicht“ aus Abschnitt 4.1. Scheitert das Auflösen der Quelle, sind die Daten nicht erreichbar, und selbst wenn sie erreichbar sind, wird eine auf manuelle Aktualisierung gesetzte Verknüpfung nicht automatisch aktualisiert. Ortauflösung, Aktualisierungseinstellung und zwischengespeicherte Anzeige getrennt zu untersuchen lässt die Ursache einordnen.67

8. Wie man heute mit OLE umgeht: Keine neuen Abhängigkeiten hinzufügen, die bestehenden kennen

Die Grundlinie ist, sich in neuen Entwürfen nicht auf OLE-Einbettung zu stützen und bestehende Bestände durch „eine Umgebung zu halten, die sie öffnen kann“ und durch „Inventur“ zu behandeln. Ob man sie weiter nutzt, entscheidet sich Fall für Fall.

Situation Empfohlene Reaktion Grund
Neue Dokumentabläufe Nicht auf Einbetten setzen: als Bild einfügen, die Originaldatei teilen und so weiter. Auch Verknüpfungen auf ein Minimum beschränken Vermeidet Aufblähung und neue Abhängigkeit von der Bearbeitungsumgebung
Eine neue Geschäftsanwendung, die Daten einer anderen App in ein Dokument bringen muss Um Bilder, PDFs oder Dateianlagen herum entwerfen, statt einen OLE-Container zu implementieren Es gibt heute kaum noch einen Fall, in dem sich Implementierungs- und Wartungskosten rechnen
Bestehende eingebettete Dokumente Eine Umgebung halten, die sie öffnen kann, und zu wichtigen Dokumenten eine PDF-Fassung bereithalten Selbst mit den Daten im Dokument lässt sich nicht mehr bearbeiten, sobald die Ursprungsanwendung fehlt
Dokumente, die stark auf Verknüpfungen setzen, und ein Dateiserverumzug Eine Inventur der Verknüpfungen und deren Aktualisierung in den Migrationsplan aufnehmen Verknüpfungen reißen, wenn der Ort nach dem Umzug nicht auffindbar ist
In Access gespeicherte Bilder oder Dateien Zum Typ Anlage oder zur Pfadverwaltung wechseln. Gesondert entscheiden, wenn OLE-spezifisches Verhalten nötig ist Zum bloßen Speichern ist der Typ Anlage flexibler und effizienter
Härten der Office-Umgebung Aktivierung von OLE-Paketen organisationsweit blockieren Als Härtungsmaßnahme im Einklang mit öffentlichen Leitlinien dargestellt

Die Entscheidungen zu Access und Sicherheit entsprechen jeweils auch Microsofts eigenem Material.919

Für die langfristige Aufbewahrung gilt: Die Umgebung, die die Daten öffnen kann, ist Teil des Bestands, nicht nur die Daten. Generationswechsel bei Anwendungen und Änderungen am Betriebssystem höhlen die Annahme aus, dass die Ursprungsanwendung verfügbar ist. Über PDF-Fassungen wichtiger Dokumente hinaus sind Maßnahmen nötig wie das Halten einer Umgebung, die sie in einer virtuellen Maschine öffnen kann.

Der OLE-Mechanismus bleibt in Betrieb, solange Windows die Abwärtskompatibilität bewahrt. Ob ein einzelnes Objekt öffnet, hängt jedoch davon ab, ob die Ursprungsanwendung noch existiert. Ist diese Annahme gesichert, besteht kein Grund, alles überstürzt abzuschaffen.

Die Inventur sollte drei Dinge benennen: die Server, die Verknüpfungsquellen halten, die Dokumente, die Einbettungen enthalten, und die Datenbanken, die den Typ OLE-Objekt nutzen. Sind diese Abhängigkeiten bekannt, lassen sich Umzüge, Härtung und Migration in einen Plan aufnehmen.

9. Zusammenfassung

Ein OLE-Objekt ist ein COM-Objekt, mit dem sich Dokumentdaten einer anderen Anwendung als Einbettung oder als Verknüpfung behandeln lassen. Einbetten speichert die Daten im Dokument; Verknüpfen verweist auf Daten an einem anderen Ort. Beginnen Sie damit, diesen Unterschied klarzuhalten.245

Als Nächstes denken Sie Anzeige, Bearbeitung und Aktualisierung getrennt. Bleibt ein Präsentationscache, lässt sich das Objekt ohne die Ursprungsanwendung nicht bearbeiten, und es lässt sich nicht aktualisieren, wenn die Verknüpfungsquelle nicht auffindbar ist. Wie es beim Doppelklick öffnet, hängt außerdem vom Objekttyp, vom Verb und von der Unterstützung für In-Place Activation ab.

Fügen Sie in neuen Abläufen keine neuen Abhängigkeiten hinzu, und halten Sie bestehende Dokumente, indem Sie die Umgebung kennen, die sie öffnen kann, und wohin ihre Verweise zeigen. Zum bloßen Speichern von Bildern und Dateien in Access nutzen Sie den Typ Anlage oder die Pfadverwaltung, und blockieren Sie die Aktivierung von OLE-Paketen organisationsweit.

COM, die Zwischenablage und Drag-and-Drop sowie die Verbunddokumente in diesem Artikel sind verschiedene Seiten des Wortes OLE. Die Rollen Komponenteninfrastruktur, Datenübertragung und Integration in Dokumente zu trennen macht es leichter nachzuvollziehen, was in alten Geschäftsbeständen geschieht.

Verwandte Artikel

Verwandte Beratungsbereiche

KomuraSoft LLC übernimmt die Untersuchung und Migration von Legacy-Dokument- und Datenbankbeständen, bei denen OLE und COM eine Rolle spielen (Abkehr vom OLE-Objekt-Typ in Access, Inventur eingebetteter Dokumente und Umwandlung in PDF, Sammelbehandlung toter Verknüpfungen), die Wartung und Anpassung von Geschäftsanwendungen mit COM-Komponenten sowie den Entwurf von Office-integrierten Anwendungen. Sie können uns auch schon in dem Stadium ansprechen, in dem noch unklar ist, was beim Doppelklick auf das Dokument eigentlich geschieht.

Referenzen

  1. Microsoft Learn, OLE Background. Dazu, dass OLE als Akronym für Object Linking and Embedding entstanden ist, dazu, dass OLE-Dokumente (Verbunddokumente) Daten mehrerer Anwendungen integrieren, zur Rollenteilung zwischen Containern und Servern, zu einem Überblick über In-Place Activation (visuelle Bearbeitung) und dazu, dass verknüpfte Elemente nicht an Ort und Stelle aktiviert werden.  2 3

  2. Microsoft Learn, Compound Documents. Dazu, dass OLE-Verbunddokumente auf COM, Structured Storage und Uniform Data Transfer ruhen; dazu, dass Verbunddokumentobjekte COM-Objekte sind, die sich in ein Dokument einbetten oder damit verknüpfen lassen und spezifische Schnittstellen wie IOleObject, IOleLink und IViewObject2 bereitstellen; und dazu, dass Objekte ihre eigene Persistenz über IPersistStorage/IPersistStream verwalten, während der Container den IStorage liefert.  2 3 4 5

  3. Microsoft Learn, Linking and Embedding. Dazu, dass es zwei Arten von Verbunddokumentobjekten gibt, verknüpfte und eingebettete, und dazu, dass der Unterschied im Speicherort der Quelldaten Übertragbarkeit, Aktivierung, Aktualisierung und Größe beeinflusst. 

  4. Microsoft Learn, Embedded Objects (COM). Dazu, dass eingebettete Objekte zusammen mit ihren Verwaltungsinformationen physisch im Verbunddokument gespeichert werden, dazu, dass das Dokument größer ist als bei Haltung als Verknüpfung, dazu, dass Änderungen an der Quelle nicht in die eingebettete Kopie übernommen werden, und zu den Vorteilen der Übertragbarkeit (Verknüpfungen reißen nicht, wenn das Dokument an einen anderen PC übergeben wird) und der In-Place Activation.  2 3

  5. Microsoft Learn, Linked Objects. Dazu, dass die Quelldaten eines verknüpften Objekts an der Verknüpfungsquelle bleiben und im Dokument nur ein Verweis und Anzeigeinformationen gespeichert werden, dazu, dass die Dokumentgröße klein bleibt, dazu, dass Änderungen an der Quelle in jedes Dokument übernommen werden, das die Verknüpfung enthält, und dazu, dass die Aktivierung einer Verknüpfung die Serveranwendung startet.  2 3

  6. Microsoft Learn, OLEUPDATE enumeration (oleidl.h). Dazu, dass die Cache-Aktualisierung eines verknüpften Objekts automatisch (OLEUPDATE_ALWAYS) oder manuell (OLEUPDATE_ONCALL) ist, entsprechend den Optionen automatische und manuelle Aktualisierung im Dialog Verknüpfungen, und dazu, dass manuelle Aktualisierungen nur erfolgen, wenn IOleObject::Update oder IOleLink::Update aufgerufen wird.  2 3

  7. Microsoft Learn, IOleCache interface (oleidl.h). Zur Schnittstelle, die die Steuerung der im Objekt zwischengespeicherten Präsentationsdaten bereitstellt, und dazu, dass zwischengespeicherte Präsentationsdaten vom Container des Objekts auch dann verfügbar sind, wenn die Serveranwendung nicht läuft oder nicht verfügbar ist.  2 3 4 5

  8. Microsoft Learn, OLERENDER enumeration (oleidl.h). Zur Enumeration, die die Art des beim Erzeugen einer Einbettung oder Verknüpfung angeforderten lokalen Caches angibt, und dazu, dass OLERENDER_NONE keine lokal zwischengespeicherte Zeichen- oder Datenabruffähigkeit anfordert (also keinen Präsentationscache).  2 3 4

  9. Microsoft Learn, DataType property (Access). Dazu, dass der Access-Typ OLE-Objekt ein Typ zum Einbetten oder Verknüpfen von Objekten wie Excel-Tabellen, Word-Dokumenten, Grafiken und Klängen in einer Tabelle ist, mit einer Grenze von etwa 1 GB, und dazu, dass der Typ Anlage flexibler ist als der Typ OLE-Objekt und Speicher effizienter nutzt, weil er kein Bitmap-Bild der Originaldatei erzeugt.  2 3 4 5

  10. Microsoft Learn, Dialog boxes in OLE. Zu den Rollen der OLE-Standarddialoge: Insert Object (Einfügen eines neuen Objekts oder eines aus einer vorhandenen Datei sowie Anzeige als Symbol), Paste Special (Wahl des Formats und Wahl von Einbetten, Verknüpfen oder Symbolanzeige), Change Icon und Convert (Konvertieren des Typs eines eingebetteten oder verknüpften Elements).  2 3

  11. Microsoft Learn, Selection.PasteSpecial method (Word). Zur VBA-Methode entsprechend Word-Inhalte einfügen, die zusätzlich zur Angabe des Einfügeformats das Verknüpfen über das Argument Link und die Symbolanzeige über das Argument DisplayAsIcon steuert. 

  12. Microsoft Learn, Creating Linked and Embedded Objects from Existing Data. Dazu, dass die Erzeugung eingebetteter und verknüpfter Objekte von einer IDataObject-Datenübertragung über die Zwischenablage oder Drag-and-Drop ausgeht, dazu, dass OLE-Server eigene Zwischenablageformate zum Erzeugen von Einbettungen und Verknüpfungen in der Reihenfolge der Wiedergabetreue anbieten, und dazu, dass zwischen Einbetten und Verknüpfen mit einem Befehl entsprechend Inhalte einfügen gewählt wird.  2

  13. Microsoft Learn, IOleObject::DoVerb method (oleidl.h). Dazu, dass Verben vom Objekt definierte Aktionen sind, dazu, dass OLEIVERB_PRIMARY, das das Doppelklickverhalten bestimmt, vom Objekt und nicht vom Container entschieden wird, dazu, dass DoVerb die OLE-Serveranwendung automatisch startet, und dazu, dass OLEIVERB_OPEN ein eingebettetes Objekt in einem eigenen Fenster öffnet.  2

  14. Microsoft Learn, Implementing In-Place Activation. Dazu, dass In-Place Activation die Bedienung eines eingebetteten Objekts ohne Verlassen des Containerdokuments erlaubt, dazu, dass die Menüleiste bei der Aktivierung durch eine zusammengesetzte Menüleiste ersetzt wird, die die Menüs von Container und Server zusammenführt, und bei der Deaktivierung wiederhergestellt wird, dazu, dass die Implementierung für Container und Server optional ist, und dazu, dass verknüpfte Objekte immer in einem eigenen Fenster öffnen.  2

  15. Microsoft Learn, Linked Objects and Monikers. Dazu, dass verknüpfte Objekte die Quelle über Moniker benennen und das Binden übernehmen, das die Quelle findet und aktiviert, dazu, dass IOleLink ein Objekt als Verknüpfung identifiziert und die Verwaltung der Verknüpfungsquelle bereitstellt, und dazu, dass die Daten beim Speichern eines Dokuments mit einer Verknüpfung an der Quelle gespeichert werden, während das Dokument nur Name und Speicherort speichert.  2 3

  16. Microsoft Learn, Attachment object (Access). Dazu, dass der Typ Anlage in .accdb-Datenbanken verfügbar ist, dazu, dass die Grenze für angefügte Daten die maximale Datenbankgröße von 2 GB ist und einzelne Dateien bis 256 MB gehen, und dazu, dass Bildformate wie BMP, PNG und JPEG ohne zusätzliche Software angezeigt werden können.  2

  17. Microsoft Learn, Microsoft Security Bulletin MS14-060 (CVE-2014-4114). Dazu, dass OLE eine Technik ist, die das Erzeugen und Bearbeiten zusammengesetzter Daten ermöglicht, zur Schwachstelle, die die Ausführung beliebigen Codes mit den Rechten des aktuellen Benutzers erlaubt, indem man einen Benutzer eine Datei mit einem präparierten OLE-Objekt öffnen lässt, dazu, dass Office-Formate und viele andere Dateiformate, die OLE-Objekte halten können, schädliche OLE-Objekte enthalten können, und dazu, dass begrenzte gezielte Angriffe unter Ausnutzung dieser Schwachstelle beobachtet wurden. 

  18. Microsoft Learn, Microsoft Security Bulletin MS12-002. Dazu, dass Windows Object Packager ein Werkzeug ist, das Pakete erzeugt, die sich in Dateien einfügen lassen, und zur Schwachstelle zur Remotecodeausführung (CVE-2012-0009) durch unsachgemäße Registrierung und Implementierung sowie zu den Umgehungen. 

  19. Microsoft Learn, Essential Eight user application hardening. Dazu, dass der an Essential Eight der australischen Regierung ausgerichtete Härtungsleitfaden das Verfahren zeigt, über Intune ein PowerShell-Skript zu verteilen, das die Registrierungsschlüssel setzt, welche die Aktivierung von OLE-Paketen in Excel, PowerPoint und Word blockieren.  2

  20. Microsoft Learn, IStorage interface (objidl.h). Dazu, dass Structured Storage die hierarchische Speicherung von Informationen in einer einzigen Datei ermöglicht und „ein Dateisystem in einer Datei“ genannt wird, dazu, dass Storages Verzeichnissen und Streams Dateien entsprechen, und dazu, dass Substorages und Streams unter dem Root-Storage geschachtelt werden können. 

  21. Microsoft Learn, Compound Files. Dazu, dass Verbunddateien die von COM bereitgestellte Standardimplementierung von Structured Storage sind, dazu, dass sie auf vorhandenen flachen Dateisystemen als dateisystemunabhängiges Format arbeiten, dessen Dateien zwischen FAT, NTFS und Macintosh-Dateisystemen austauschbar geöffnet werden können, und dazu, dass die Standardschnittstellen das Aufzählen und Durchsuchen der Objekte im Inneren erlauben. 

  22. Microsoft Learn, [MS-CFB]: Compound File Binary File Format. Die veröffentlichte Spezifikation des binären Verbunddateiformats: die Definition einer dateisystemartigen Struktur, die anwendungsspezifische Datenstreams in einer einzigen Datei speichert, und die Verzeichniseinträge, die Storages und Streams zusammen mit ihrem CLSID-Feld aufzählen.  2 3

Aktuelle Artikel mit denselben Schlagwörtern führen zu verwandten Themen weiter.

Diese Seiten ordnen den Artikel in einen größeren Leistungs- und Entscheidungskontext ein.

Dieser Artikel ist direkt mit den folgenden Leistungen verbunden.

Häufige Fragen

Fragen, die in Beratungen zu diesem Artikelthema häufig gestellt werden.

Worin unterscheiden sich Einbetten und Verknüpfen?
Der Unterschied liegt darin, wo die eigentlichen Daten liegen. Beim Einbetten (Embedding) wird das Datenobjekt vollständig im Containerdokument gespeichert. Das Dokument wird unabhängig von der Originaldatei, sodass die Übergabe an einen anderen PC keine Referenz zerbricht (zum Bearbeiten muss die Ursprungsanwendung allerdings auch auf dem empfangenden PC vorhanden sein; fehlt sie, können Sie nur den Präsentationscache betrachten, sofern einer gespeichert wurde, und ein als Symbol angezeigtes Objekt lässt sich gar nicht prüfen). Im Gegenzug wird die Datei größer, und Änderungen an den Originaldaten erscheinen nicht im Dokument. Beim Verknüpfen (Linking) stehen im Dokument nur ein Verweis (Name und Speicherort der Verknüpfungsquelle), die Aktualisierungseinstellung und Anzeigeinformationen, während die eigentlichen Daten in der Quelldatei bleiben. Das Dokument bleibt klein, und Änderungen an der Quelle können darin übernommen werden (automatisch oder manuell, je nach Aktualisierungseinstellung der Verknüpfung); wird die Quelle jedoch verschoben oder umbenannt, sodass sie nicht mehr auffindbar ist, reißt die Verknüpfung. Welche Variante Sie einfügen, wählen Sie im Dialog Inhalte einfügen oder Objekt einfügen.
Warum lässt sich ein eingebettetes Objekt im Dokument per Doppelklick nicht öffnen oder bearbeiten?
Die häufigste Ursache ist, dass die Ursprungsanwendung für dieses Objekt auf dem aktuellen PC nicht installiert ist. Das Bearbeiten eines eingebetteten Objekts startet die Ursprungsanwendung (den OLE-Server); ohne sie können Sie nur den Präsentationscache betrachten, sofern einer gespeichert wurde, und bei Anzeige als Symbol ist nicht einmal der Inhalt sichtbar. Ist die Ursprungsanwendung vorhanden und das Objekt öffnet sich trotzdem nicht, prüfen Sie in dieser Reihenfolge: einen Fall, in dem ein Versionsunterschied eine Konvertierung erfordert, eine fehlende oder beschädigte COM-Klassenregistrierung (CLSID), die sich durch Neuinstallation oder Ähnliches beheben lässt, eine Beschädigung auf der Dokumentseite und den Fall, dass Sicherheitseinstellungen die Aktivierung blockieren.
Warum werden Word- und Excel-Dateien mit eingebetteten Objekten ungewöhnlich groß?
Weil Einbetten die eigentlichen Daten als Duplikat im Dokument speichert. Ein Dokument, das ein Objekt als Einbettung hält, ist in der Regel größer als eines, das dasselbe Objekt als Verknüpfung hält. Zusätzlich speichert das Dokument gewöhnlich neben den Daten für die Bearbeitung einen Präsentationscache (ob ein Cache angelegt wird, entscheidet die Einstellung zum Erstellungszeitpunkt). Um die Datei zu verkleinern, kommen infrage: Verknüpfen statt Einbetten, Einfügen als Bild (mit der Entscheidung, dass erneutes Bearbeiten nicht nötig ist) oder die Originaldatei gesondert zu teilen und im Dokument nur eine Verknüpfung oder ein Bild zu belassen. Verknüpfungen erfordern jedoch die Verwaltung der Quelle und eignen sich deshalb nicht für Dokumente, die verteilt werden.
Nach dem Umzug unseres Dateiservers aktualisieren sich die verknüpften Objekte in den Dokumenten nicht mehr. Warum?
Weil ein verknüpftes Objekt im Dokument nicht die eigentlichen Daten hält, sondern nur Name und Speicherort der Verknüpfungsquelle (einen Moniker), die Aktualisierungseinstellung und einen Präsentationscache. Ändert sich der Speicherort der Quelle durch einen Dateiserverumzug, eine Ordnerumbenennung, eine Änderung des Freigabepfads oder Ähnliches und ist der neue Ort nicht mehr auffindbar, schlägt das Auflösen der Verknüpfung fehl, und im Dokument bleibt nur der alte Präsentationscache (bei einem Objekt, das ohne Cache erzeugt wurde, bleibt nicht einmal diese Anzeige). Zur Reparatur setzen Sie in jedem Dokument unter Verknüpfungen bearbeiten den Quellpfad auf den neuen Ort. Ist der Pfad korrekt und das Objekt aktualisiert sich trotzdem nicht, kann die Verknüpfung einfach auf manuelle Aktualisierung stehen, statt gerissen zu sein; prüfen Sie daher auch die Aktualisierungsmethode. Gibt es viele Dokumente, erstellen Sie vor dem Umzug eine Inventur der Dokumente mit Verknüpfungen und planen Sie nach Möglichkeit eine Sammelaktualisierung ein.
Ich habe gehört, OLE-Objekte seien ein Sicherheitsrisiko. Darf man sie weiter verwenden?
Die OLE-Struktur, die das Objekt einer anderen Anwendung in ein Dokument bringt und auf dem Rechner ausführt, der es öffnet, ist auch für Angreifer ein bequemes Transportmittel, und Schwachstellen zur Ausführung beliebigen Codes über präparierte OLE-Objekte sind in echten gezielten Angriffen genutzt worden. OLE-Pakete, die eine beliebige Datei einhüllen können, sind besonders gefährlich, und öffentliche Leitlinien wie Essential Eight der australischen Regierung empfehlen, die Aktivierung von OLE-Paketen in Word, Excel und PowerPoint per Registrierungseinstellung zu unterbinden. Ein pauschales Verbot, das auch gewöhnliches Einbetten und Verknüpfen in internen Dokumenten erfasst, ist nicht nötig; der realistische Mittelweg besteht darin, Objekte in Dokumenten unbekannter Herkunft nicht zu öffnen und die Aktivierung von OLE-Paketen organisationsweit zu blockieren.

Autorenprofil

Profilseite des Artikelautors.

Go Komura

Geschäftsführer von KomuraSoft LLC

Spezialisiert auf Windows-Softwareentwicklung, technische Beratung und Fehleranalyse, insbesondere bei bestehenden Systemen und schwer reproduzierbaren Störungen.

Zurück zum Blog