Dokumentation/Calc Funktionen/DDE

    From The Document Foundation Wiki
    This page is a translated version of the page Documentation/Calc Functions/DDE and the translation is 100% complete.
    Other languages:


    Funktionsname:

    DDE

    Kategorie:

    Tabelle

    Zusammenfassung:

    Dynamic Data Exchange (DDE) ist ein altes Protokol zum Datenaustausch zwischen Anwendungen.

    Die Funktion DDE initiiert eine "Konversation" zwischen Calc (dem "Client") und einer anderen Anwendung, die DDE unterstüzt (der "Server"). Dabei wird dem Server ermöglicht, die angeforderten Daten an den Client als Ergebnis des Funktionsaufrufes zu übertagen. Wannimmer der Server im Folgenden eine Änderung in den interessanten Daten entdeckt, wird es automatisch an den Client als Update übertragen.

    DDE Objekte sind über eine Referenz mit ihrer Quelle verbunden. Sie sind nicht in ihrer Zieltabelle eingebettet.

    Syntax:

    DDE(Server; Thema/Datei; Artikel/Bereich [; Modus])

    Rückgabewerte:

    Gibt die qualifizierten Daten aus einer DDE-Anforderung zurück.

    Argumente:

    Server ist ein Text (in Anführungszeichen) oder eine Referenz auf eine Zelle, die den Namen der Server-Applikation enthält. Der Server-Name für LibreOffice ist "soffice". Andere DDE Server können auf Ihrem System laufen (z. Bsp. "excel" für Microsoft EXCEL oder "winword" für Microsoft WORD). Die Verfügbarkeit anderer Server hängt von Ihrem Computersystem, seinen Einstellungen und Inhalten ab - weitere Erörterungen zu diesem Thema sind jenseits des Rahmens dieser Wiki.

    Thema/Datei ist ein Text (in Anführungszeichen) oder eine Referenz auf eine Zelle, die den kompletten Namen inklusive Pfadangaben der Datei mit den interessanten Daten enthält. DDE unterstützt aktuell keine relativen Pfadangaben in diesem Argument.

    Artikel/Bereich ist ein Text (in Anführungszeichen) oder eine Referenz auf eine Zelle, die die spezifischen zurückzugebenden Daten identifiziert. Zum Beispiel kann das ein benannter Bereich oder eine Referenz auf einen Zellbereich für eine Calc-Mappe oder der Name eines Abschnitts oder eines Lesezeichens für ein Writer-Dokument sein.

    Modus ist eine Ganzzahl oder eine Referenz auf eine Zelle, die die Zahl enthält. Diese Zahl gibt die Methode an, mit der der DDE Server die Daten in Zahlen verwandelt. Er kann 0, 1 oder 2 sein. Die Bedeutung dieser Codes zeigt folgende Tabelle.

    Interpretation des Moduses
    Modus Wirkung
    1 oder weggelassen Daten werden, falls möglich, mit dem Standard Zellenstil, in Zahlen umgewandelt
    1 Daten werden, falls möglich, im US English Format, in Zahlen umgewandelt (z. Bsp. mit "." als Tausender-Trennzeichen).
    2 Daten werden als Text erhalten, ohne Konversion in Zahlen.
    • Falls Thema/Datei, Server oder Artikel/Bereich nicht gültig sind, meldet DDE einen #NV Fehler.
    • Falls Modus nicht numerisch ist, dann meldet DDE einen #WERT!.
    • Falls Modus negativ ist, dann meldet DDE einen invalid argument error (Fehler:502).
    • Falls Modus keine Ganzzahl ist, verkürzt sie DDE auf eine Ganzzahl.
    • Falls Modus nach einer Verkürzung größer als 2 ist, wird der Standardwert 0 verwendet.
    • Falls eine Calc Mappe mit einem Funktionsaufruf von DDE geöffnet wird und Calc keine DDE Umwandlung starten kann, zeigt sich folgener Dialog.

    Zusätzliche Informationen:

    Tip.svg

    Tipp:
    Calc bietet mehrere Möglichkeiten zur Umwandlung der externen Daten.


    • DDE steht für "Dynamic Data Exchange", dem Vorgänger von OLE, "Object Linking and Embedding".
    • Plattformübergreifende Links, z. Bsp. von LibreOffice unter Windows zu einer Dokumentenanwendung unter Linux, werden nicht unterstützt.
    • Der LibreOffice DDE Server heißt "soffice" und er ermöglicht Daten zwischen Writer und Calc zu teilen. Generell ist die Funktion DDE nicht portierbar, weil sie auf der Verfügbarkeit von externen DDE und deren Interpretation der Argumente Thema/Datei und Artikel/Bereich abhängt.
    • Falls Calc Tabellen mit DDE-Aufrufen unter Microsoft EXCEL geöffnet werden, werden die DDE Aufrufe durch statische Daten ersetzt, weil EXCEL keine äquivalente Funktion bereit stellt.
    • Wenn eine Calc Tabelle mit DDE-Links geöffnet wird, tritt eine Warnung auf, dass das automatische Update von externen Links abgeschaltet wurde. Über den Updates erlauben-Button können die Links wieder eingeschaltet werden.
    • Der Befehl Bearbeiten ▸ Verknüpfungen zu externen Dateien... in der Menüleiste listet DDE Links und erlaubt, sie zu bearbeiten, manuell zu aktualisieren oder zu entfernen. Wenn ein DDE Link eingerichtet wurde, wird die Einstellung zum Update auf Automatisch gestellt. Diese Einstellung bedeutet, dass, wenn beide Dateien offen sind und in einem Dokument Änderungen vorgenommen werden, diese auch automatisch in dem Dokument mit dem DDE Aufruf ohne weitere Aktivität geändert werden. Bei einem individuellen DDE Link kann die Einstellung zum Update auf manuell geändert werden. Dadurch werden Änderungen in den verknüpften Daten nicht mehr in dem Dokument mit dem DDE-Aufruf aktualisiert, es sei denn, sie werden manuell aktualisiert.
    • Die Funktion DDE ist besonders mächtig, wenn sie als Matrix-Formel verwendet wird. Um eine solche Matrix-Formel einzustellen, wird die Formel in der Eingabezeile im oberen Bereich des Calc-Fensters eingegeben. Dann wird sie mit der Tastenkombination Umschalt + Strg + Enter (Umschalt + Command + Enter unter macOS) statt nur mit dem üblichen Enter bestätigt. Alternativ kann der Funktionsassistent genutzt werden, um die Funktion DDE anzulegen. Dabei muss das Auswahlfeld Matrix vor der Bestätigung mit OK angeklickt sein. Falls nun eine Zelle mit einer Matrix-Formel angeklickt wird, wird die Formel in der Eingabezeile angezeigt. Dabei wird der Inhalt der Zelle mit geschweiften Klammern umschlossen, z. Bsp. {=DDE("soffice"; "C:\My Files\league tables.ods"; "Division1")}. Es ist nicht möglich, eine Matrix-Formel durch einfache Eingabe der geschweiften Klammern um eine Nicht-Matrix-Formel anzulegen.
    • Ein Beispiel für die Verwendung von DDE in einer Matrix-Formel könnte ein Link über DDE zu einem Writer Dokument sein, so dass eine Textpassage (mit mehreren Absätze) in eine Calc Tabelle kopiert wird. Es könnte eine Nicht-Matrix-Formel wie z. Bsp. =DDE("soffice"; "C:\Bericht.odt"; "Einleitung") für solch einen Link verwendet werden um damit den Text namens "Einleitung" aus der Datei "C:\Bericht.odt" zu kopieren. Diese Formel wird allerdings nur den ersten Absatz kopieren. Um alle Absätze zu kopieren, wird die Formel DDE als Matrix-Formel angewendet. Wenn die Formel DDE einmal als Matrix-Formel angelegt ist, wird die Anzahl der Absätze nur noch durch ursprüngliche Anzahl an kopierten Absätzen limitiert. Neue, zusätzlich im Writer Dokument angefügte Absätze werden in der Calc Tabelle nicht erscheinen. Genauso wird eine Matrix-Formel für einen DDE-Link auf eine Tabelle in einem Writer Dokument die maximale Dimension in der Calc-Tabelle durch seine originale Größe begrenzt werden.
    • Eine alternative Methode, einen DDE-Link anzulegen wäre, die Zelle oder den Zellbereich aus der Quelldatei in die Zwischenablage zu kopieren, um sie daraus über die Option Bearbeiten ▸ Inhalte einfügen ▸ Inhalt einfügen... ▸ Dynamic Data Exchange (DDE Link) herauszukopieren. Der Link wird als eine Funktion DDE, als Matrix-Formel eingefügt.

    Beispiele:

    Daten aus einer anderen Mappe kopieren

    Formel Beschreibung Ergebnis
    =DDE("soffice"; "C:\spreadsheets\dde_test.ods"; "Tabelle1.D10"), wobei die Zelle Tabelle1.D10 in der angegebenen Tabelle die Zahl 345,678 enthält. Hier gibt die Funktion den Inhalt der Zelle D10 in Tabelle1 der Mappe C:\spreadsheets\dde_test.ods zurück. 345,678
    =DDE("soffice"; "C:\spreadsheets\dde_test.ods"; "Tabelle1.D11"; 2), wobei die Zelle Tabelle1.D11 in der angegebenen Tabelle die Zahl 456,789 enthält. Hier gibt die Funktion den Inhalt der Zelle D11 in Tabelle1 in der Mappe C:\spreadsheets\dde_test.ods zurück. Der zurückgegebene Wert wird als Text statt als Zahl angezeigt. 456,789
    =DDE(A1; A2; A3; A4), wobei die Zellen A1 bis A3 die Texte "soffice", "C:\spreadsheets\dde_test.ods" und "Tabelle1.D12" (ohne Anführungszeichen) enthalten, und Zelle A4 die Zahl 2 enthält; Tabelle1.D12 enthält in der spezifizierten Tabelle die Zahl 567,89. Hier gibt die Funktion den Inhalt der Zelle D12 in Tabelle1 der Mappe C:\spreadsheets\dde_test.ods zurück. Der zurückgegebene Wert wird als Text statt als Zahl angezeigt. 567,89

    Daten aus einem Text Dokument kopieren

    Im folgenden Beispiel beinhaltet die Writer Datei C:\spreadsheets\Geschwindigkeitsanalyse.odt eine Tabelle namens "Rohdaten", die folgende Daten enthält:

    Inhalt der Tabelle Rohdaten
    Zeit km/h
    00:00 66
    00:00 61
    00:28 38
    00:28 82
    00:28 82
    00:43 46
    00:43 104
    00:43 114
    01:12 101
    Formel Beschreibung Ergebnis
    {=DDE("soffice", "C:\spreadsheets\Geschwindigkeitsanalyse.odt", "Rohdaten", 2)} mit der Folrmel in Zelle A1. Hier wurde die Formel als Matrix-Formel über Umschalt + Strg + Enter (Shift + Command + Enter unter macOS) eingegeben. Die Formel gibt die Inhalte der Rohdatentabelle aus der Writer Datei C:\spreadsheets\Geschwindigkeitsanalyse.odt zurück und gibt die Daten in einer einzelnen Spalte aus. Jeder Abschnitt in einer Zelle der Quelltabelle erscheint in einer eigenen Zelle. Der Inhalt der Zelle aus der obersten Zeile erscheint zuerst, dann kommen die anderen Zellen der Reihe nach in der ersten Zeile, dann kommen die restlichen Zeilen der Reihe nach.

    Mit den oben angegebenen Beispieldaten:

    • Der Text "Zeit" erscheint in Zelle A1.
    • Der Text "km/h" erscheint in Zelle A2.
    • Der Text "00:00" erscheint in Zelle A3.
    • Der Text "66" erscheint in Zelle A4.
    • Der Text "00:00" erscheint in Zelle A5.
    • Der Text "61" erscheint in Zelle A6.
    und so weiter.
    
    siehe Beschreibung

    Für die folgenden Beispiele wird vorausgesetzt, es gibt eine Writer Datei namens Mottos.odt im Ordner C:\miscellaneous. Dieses Dokument enthält einen Bereich namens Verschiedene Mottos bestehend aus drei Absätzen mit folgenden Texten:

    • Denke, bevor Du sprichst.
    • Morgen ist auch noch ein Tag.
    • Zeit, die man gerne vergeudet, ist keine vergeudete Zeit.

    In Writer werden Bereiche mit Einfügen ▸ Bereich.. in der Menüzeile erzeugt und die Namen bestehender Bereiche können mit dem Navigator unter (Ansicht ▸ Navigator) angezeigt werden.

    Formel Beschreibung Ergebnis
    =DDE("soffice"; "c:\miscellaneous\mottos.odt"; "Verschiedene Mottos") Hier gibt die Funktion die Inhalte des ersten Absatzes im Bereich zurück. Denke, bevor Du sprichst.
    {=DDE("soffice"; "C:\miscellaneous\Mottos.odt"; "Various mottos")} mit der Formel in Zelle A1. Hier wurde die Formel als Matrix-Formel über Umschalt + Strg + Enter (Shift + Command + Enter unter macOS) eingegeben. In diesem Fall werden alle drei Texte zurückgegeben und Calc gibt sie in einer Spalte aus. Zelle A1 zeigt "Denke, bevor Du sprichst", Zelle A2 zeigt "Morgen ist ein auch noch ein Tag" und Zelle A3 zeigt "Zeit, die man gerne vergeudet, ist keine vergeudete Zeit". A1 - Denke, bevor Du sprichst.

    A2 - Morgen ist auch noch ein Tag.
    A3 - Zeit, die man gerne vergeudet, ist keine vergeudete Zeit.

    Ähnliche LibreOffice Funktionen:

    Nichts.

    ODF Standard:

    Kapitel 6.11.2, Teil 2.

    Betroffene (oder ähnliche) EXCEL-Funktionen:

    Nichts