Einrichten und Verwenden der RTD-Funktion in Excel

Zusammenfassung

Hinweis

Die Leistung der RealTimeData -Funktion (RTD) wurde in Excel M365 Version 2002 oder höher erheblich verbessert. Weitere Informationen finden Sie unter Verbesserungen bei Excel-Leistung und -Grenzwerten.

In diesem Artikel wird die Funktionalität beschrieben, die die RealTimeData-Funktion (RTD) bereitstellt. Microsoft Office Excel bietet eine Arbeitsblattfunktion, RealTimeData (RTD). Mit dieser Funktion können Sie einen COM-Automatisierungsserver (Component Object Model) aufrufen, um Daten in Echtzeit abzurufen.

Wenn Sie eine Arbeitsmappe erstellen müssen, die Daten enthält, die in Echtzeit aktualisiert werden, z. B. Finanzdaten oder wissenschaftliche Daten, können Sie jetzt die Arbeitsblattfunktion RTD verwenden. In früheren Versionen von Excel wird dynamischer Datenaustausch (Dynamic Data Exchange, DDE) zu diesem Zweck verwendet. Die RTD-Funktion basiert auf COM-Technologie und bietet Vorteile in Bezug auf Robustheit, Zuverlässigkeit und Komfort. RtD hängt von der Verfügbarkeit eines RTD-Servers ab, um die Echtzeitdaten für Excel verfügbar zu machen. Weitere Informationen zum Erstellen eines RTD-Servers finden Sie im Abschnitt "Verweise".

Die RTD-Funktion ruft Daten von einem RTD-Server zur Verwendung in der Arbeitsmappe ab. Das Funktionsergebnis wird aktualisiert, wenn neue Daten vom Server verfügbar werden und die Arbeitsmappe sie akzeptieren kann. Der Server wartet, bis Sich Excel im Leerlauf befindet, bevor er aktualisiert wird. Dies erleichtert dem Entwickler, dass er feststellen muss, ob Excel für die Annahme von Updates verfügbar ist. Die RTD-Funktion unterscheidet sich in dieser Hinsicht von anderen Funktionen, da andere Funktionen nur aktualisiert werden, wenn das Arbeitsblatt neu berechnet wird.

Obwohl die RTD-Funktion einen Link zu Daten auf einem Server bereitstellt, ist sie nicht derselbe Linktyp wie Verweise auf Zellen in anderen Arbeitsblättern oder Arbeitsmappen. Wenn Sie beispielsweise die RTD-Funktion in einer Arbeitsmappe verwenden, erhalten Sie beim Öffnen der Arbeitsmappe weder die Startmeldung Links, noch können Sie die status einer RTD-Funktion über das Dialogfeld Verknüpfungen bearbeiten verwalten.

Syntax

Die RTD-Funktion verwendet die folgende Syntax:

=RTD(RealTimeServerProgID;ServerName;Topic1;[Topic2], ...)

Wobei die Funktionsargumente wie folgt sind:

  • RealTimeServerProgID

    Eine Zeichenfolge, die die Programm-ID des rtd-Servers darstellt, der auf dem lokalen System installiert ist. Dies ist in der Regel ein COM-Add-In, das durch eine Setupprozedur oder mithilfe von RegSvr32 registriert wird. RealTimeServerProgID ist ein erforderliches Argument.

  • ServerName

    Eine Zeichenfolge, die den Namen des Servers darstellt, auf dem der RTD-Server ausgeführt werden soll. Wenn der RTD-Server lokal ausgeführt wird, sollte der ServerName eine leere Zeichenfolge ("") sein oder ausgelassen werden.

  • Topic1, [Topic2], ...

    Zeichenfolgen, die die abgerufenen Daten bestimmen. Sie können ein bis 28 Themen verwenden, obwohl nur ein Thema erforderlich ist.

Verwenden von RTD

Als Beispiel für die RTD-Funktion sollten Sie informationen von einem Server abrufen, der kontinuierliche Daten für Läufer in mehreren gleichzeitigen Rennen bereitstellt. Angenommen, der Server wird als Dynamic Link Library (DLL) mit dem Namen RaceReport.dll bereitgestellt, auf dem Computer des Benutzers installiert und durch seinen eigenen Setupprozess als COM-Add-In registriert. Die allgemeine Form der RTD-Funktion, die mit diesem Server verwendet wird, könnte wie folgt aussehen:

=RTD("MyRTDServerProdID";"MyServer";"RaceNum";"RunnerID";"StatType")

Dabei bestimmen die Themen RaceNum, RunnerID und StatType das interessante Rennen, den Läufer, dessen Daten erforderlich sind, und den Typ der Daten für eine bestimmte Verwendung der Funktion.

Hier kann der Benutzer eine Zelle auswählen und die folgende Formel eingeben.

=RTD("ExcelRTD.RaceReport";"";"2";"16";"Time")

um die aktuelle verstrichene Zeit für Läufer Nummer 16 in Rennen 2 zu sehen. Die Anzahl der Themen und die Art der zugeordneten Daten werden vom Entwickler des COM-Servers bestimmt. Beispielsweise kann der Race-Reporting-Server unterschiedliche Daten liefern, wenn Sie die folgende RTD-Funktion verwenden:

=RTD("ExcelRTD.RaceReport";"";"3";"25";"Position")

In diesem Fall geben die zurückgegebenen Daten die aktuelle Position der Läufernummer 25 in Rennen 3 an.

Auf diese Weise kann dieselbe Funktion in der gesamten Arbeitsmappe unterschiedlich verwendet werden, um unterschiedliche Daten vom gleichen Server abzurufen, die alle automatisch aktualisiert werden.

Wrapper zur Vereinfachung der Verwendung

Die RTD-Funktion kann in benutzerdefinierten Funktionen (UDFs) in Microsoft Visual Basic for Applications verwendet werden. Diese werden dann zu Wrappern für die RTD-Funktion. Dieser Ansatz kann nützlich sein, um Benutzer vor den Details des RTD-Servernamens und der ProgID zu schützen und ihnen zu ermöglichen, sich nur auf die Daten zu konzentrieren, die für sie wichtig sind.

Im vorherigen Szenario kann dem Benutzer beispielsweise zwei Funktionen zur Verfügung gestellt werden: GetTime(RunnerID) und GetPosition(RunnerID). Diese Funktionen gehen davon aus, dass der Benutzer immer mit demselben Server und derselben Racenummer zu tun hat. Daher muss der Benutzer nur eine Runner-ID angeben, um aktuelle Daten zur verstrichenen Zeit bzw. Position des Läufers zu erhalten.

Berechnung

Da RTD Daten aktualisiert, wenn Sich Excel im Leerlauf befindet, erhält es weiterhin Informationen, wenn sich Excel im manuellen Berechnungsmodus befindet. In diesem Fall werden die neuen Daten zwischengespeichert, und die aktuellen Werte werden verwendet, wenn eine manuelle Berechnung ausgeführt wird.

Sicherheit

RTD-Server sollten digital signiert sein. Wenn ein RTD-Server nicht digital signiert ist, wird der Server möglicherweise nicht geladen, und in den Zellen, die auf den RTD-Server verweisen, wird eine #N/A angezeigt.

Für Microsoft Office Excel 2007 können Sie die Sicherheitseinstellungen im Trust Center überprüfen. Darauf kann über die Registerkarte Trust Center im Dialogfeld Excel-Optionen zugegriffen werden.

Für Microsoft Office Excel 2003 und in Microsoft Excel 2002 kann das Ladeverhalten durch Anpassen der Makrosicherheitseinstellungen in Excel geändert werden.

References

Weitere Informationen zu RTD und Excel-Sicherheit finden Sie unter Einrichten und Verwenden der RTD-Funktion in Excel.

Weitere Informationen zum Erstellen eines RTD-Servers finden Sie unter Erstellen eines RealTimeData-Servers für Excel.