De functie RTD instellen en gebruiken in Excel

Samenvatting

Opmerking

De prestaties van de functie RealTimeData (RTD) zijn aanzienlijk verbeterd in Excel M365 versie 2002 of hoger. Zie Prestatie- en limietverbeteringen in Excel voor meer informatie.

In dit artikel wordt de functionaliteit beschreven die de functie RealTimeData (RTD) biedt. Microsoft Office Excel biedt een werkbladfunctie, RealTimeData (RTD). Met deze functie kunt u een COM-automatiseringsserver (Component Object Model) aanroepen om gegevens in realtime op te halen.

Wanneer u een werkmap moet maken die gegevens bevat die in realtime worden bijgewerkt, bijvoorbeeld financiële gegevens of wetenschappelijke gegevens, kunt u nu de functie RTD-werkblad gebruiken. In eerdere versies van Excel wordt DDE (Dynamic Data Exchange) hiervoor gebruikt. De functie RTD is gebaseerd op COM-technologie en biedt voordelen op het gebied van robuustheid, betrouwbaarheid en gemak. RTD is afhankelijk van de beschikbaarheid van een RTD-server om de realtime gegevens beschikbaar te maken voor Excel. Zie de sectie Verwijzingen voor meer informatie over het maken van een RTD-server.

De functie RTD haalt gegevens op van een RTD-server voor gebruik in de werkmap. Het functieresultaat wordt bijgewerkt wanneer er nieuwe gegevens beschikbaar komen vanaf de server en de werkmap deze kan accepteren. De server wacht totdat Excel inactief is voordat deze wordt bijgewerkt. Hierdoor hoeft de ontwikkelaar niet te bepalen of Excel beschikbaar is om updates te accepteren. De functie RTD verschilt in dit opzicht van andere functies omdat andere functies alleen worden bijgewerkt wanneer het werkblad opnieuw wordt berekend.

Hoewel de functie RTD een koppeling naar gegevens op een server biedt, is dit niet hetzelfde type koppeling als verwijzingen naar cellen in andere werkbladen of werkmappen. Als u bijvoorbeeld de functie RTD in een werkmap gebruikt, ontvangt u het opstartbericht Koppelingen niet wanneer u de werkmap opent en kunt u de status van een RTD-functie ook niet beheren via het dialoogvenster Koppelingen bewerken.

Syntaxis

De functie RTD gebruikt de volgende syntaxis

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

waarbij de functieargumenten als volgt zijn:

  • RealTimeServerProgID

    Een tekenreeks die de programma-id van de RTD-server vertegenwoordigt die op het lokale systeem is geïnstalleerd. Dit is meestal een COM-invoegtoepassing die is geregistreerd via een installatieprocedure of met behulp van RegSvr32. RealTimeServerProgID is een vereist argument.

  • Servernaam

    Een tekenreeks die de naam vertegenwoordigt van de server waarop de RTD-server moet worden uitgevoerd. Als de RTD-server lokaal wordt uitgevoerd, moet servernaam een lege tekenreeks ("") zijn of weggelaten.

  • Onderwerp1, [Onderwerp2], ...

    Tekenreeksen die bepalen welke gegevens worden opgehaald. U kunt één tot 28 onderwerpen gebruiken, hoewel slechts één onderwerp is vereist.

RTD gebruiken

Als voorbeeld van de functie RTD kunt u overwegen om informatie op te halen van een server die continue gegevens levert voor hardlopers in verschillende gelijktijdige races. Stel dat de server wordt geleverd als een Dynamic Link Library (DLL) met de naam RaceReport.dll, dat deze is geïnstalleerd op de computer van de gebruiker en dat deze is geregistreerd als een COM-invoegtoepassing door een eigen installatieproces. De algemene vorm van de FUNCTIE RTD zoals gebruikt met deze server kan er als volgt uitzien

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

waarbij de onderwerpen RaceNum, RunnerID en StatType respectievelijk de race van belang bepalen, de hardloper wiens gegevens vereist zijn en het type gegevens voor een bepaald gebruik van de functie.

Hier kan de gebruiker een cel selecteren en de volgende formule erin typen

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

om de huidige verstreken tijd voor runner nummer 16 in racenummer 2 te zien. Het aantal onderwerpen en de aard van de bijbehorende gegevens wordt bepaald door de ontwikkelaar van de COM-server. De racerapportageserver kan bijvoorbeeld verschillende gegevens leveren als u de volgende RTD-functie gebruikt:

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

In dit geval geven de geretourneerde gegevens de huidige positie van loper nummer 25 in racenummer 3 aan.

Op deze manier kan dezelfde functie in de hele werkmap op verschillende manieren worden gebruikt om verschillende gegevens op te halen van dezelfde server, die allemaal automatisch worden bijgewerkt.

Wrappers om het gebruik te vereenvoudigen

De functie RTD kan worden gebruikt in door de gebruiker gedefinieerde functies (UDF's) in Microsoft Visual Basic for Applications. Deze worden vervolgens wrappers voor de functie RTD. Deze benadering kan handig zijn om gebruikers af te schermen van de details van de RTD-servernaam en ProgID, en om hen in staat te stellen zich alleen te richten op de gegevens die belangrijk voor hen zijn.

In het vorige scenario kan de gebruiker bijvoorbeeld twee functies krijgen: GetTime(RunnerID) en GetPosition(RunnerID). Bij deze functies wordt ervan uitgegaan dat de gebruiker altijd te maken heeft met dezelfde server en hetzelfde racenummer. Daarom hoeft de gebruiker alleen de id van een runner op te geven om actuele gegevens te ontvangen over respectievelijk de verstreken tijd en positie van de loper.

Berekening

Omdat RTD gegevens bijwerkt wanneer Excel niet actief is, blijft het informatie ontvangen als Excel zich in de handmatige berekeningsmodus bevindt. In dat geval worden de nieuwe gegevens in de cache opgeslagen en worden de huidige waarden gebruikt wanneer een handmatige berekening wordt uitgevoerd.

Beveiliging

RTD-servers moeten digitaal zijn ondertekend. Als een RTD-server niet digitaal is ondertekend, wordt de server mogelijk niet geladen en wordt een #N/A weergegeven in de cellen die verwijzen naar de RTD-server.

Voor Microsoft Office Excel 2007 kunt u de beveiligingsinstellingen controleren via het Vertrouwenscentrum. Dit is toegankelijk via het tabblad Vertrouwenscentrum in het dialoogvenster Opties voor Excel .

Voor Microsoft Office Excel 2003 en In Microsoft Excel 2002 kan het laadgedrag worden gewijzigd door de beveiligingsinstellingen voor macro's in Excel aan te passen.

Verwijzingen

Zie De functie RTD instellen en gebruiken in Excel voor meer informatie over RTD- en Excel-beveiliging.

Zie How to create a RealTimeData server for Excel (Een RealTimeData-server maken voor Excel) voor meer informatie over het maken van een RTD-server.