Meer informatie
Als u een werkblad wilt maken met gegevens die in real-time worden bijgewerkt, bijvoorbeeld financiële of wetenschappelijke gegevens, kunt u nu de RTD-werkbladfunctie gebruiken. In eerdere versies van Excel werd hiervoor DDE (Dynamic Data Exchange) gebruikt. De RTD-functie, die gebaseerd is op COM-technologie, is echter betrouwbaarder, stabieler en gemakkelijker. RTD maakt gebruik van een RTD-server om de real-timegegevens beschikbaar te stellen aan Excel. Zie de sectie 'Verwijzingen' in dit artikel voor meer informatie over het maken van een RTD-server.
De RTD-functie haalt gegevens van een RTD-server op voor gebruik in de werkmap. Het resultaat van de functie wordt bijgewerkt als de server nieuwe gegevens beschikbaar maakt en de werkmap deze kan accepteren. De server wacht met het bijwerken van de gegevens totdat Excel inactief is. De ontwikkelaar hoeft dus niet vast te stellen of Excel beschikbaar is om updates te accepteren. In dit opzicht verschilt de RTD-functie van andere functies, omdat andere functies alleen worden bijgewerkt als het werkblad opnieuw wordt uitgerekend.
De RTD-functie bevat wel een koppeling naar gegevens op een server, maar dit is niet hetzelfde type koppeling als verwijzingen naar cellen in andere werkbladen of werkmappen. Als u de RTD-functie bijvoorbeeld in een werkmap gebruikt, wordt het bericht over het opstarten van koppelingen niet weergegeven als u de werkmap opent. Ook kunt u de status van de RTD-functie niet beheren via het dialoogvenster
Koppelingen bewerken.
Syntaxis
De RTD-functie gebruikt de volgende syntaxis:
=RTD(RealTimeServerProgID,Servernaam,Onderwerp1,[Onderwerp2], ...)
waarbij de argumenten de volgende betekenis hebben:
- RealTimeServerProgID
Een reeks die de programma-id aangeeft van de RTD-server die op het lokale systeem is geïnstalleerd. Meestal is dit een COM-invoegtoepassing die geregistreerd is door middel van een Setup-procedure of door middel van RegSvr32. RealTimeServerProgID is een vereist argument. - Servernaam
Een reeks die de naam aangeeft van de server waarop de RTD-server moet worden uitgevoerd. Als de RTD-server lokaal wordt uitgevoerd, moet Servernaam een lege reeks zijn ( ""), of worden weggelaten. - Onderwerp1, [Onderwerp2], ...
Reeksen die de gegevens identificeren die worden opgehaald. U kunt maximaal 28 onderwerpen gebruiken. U moet minimaal één onderwerp opgeven.
Gebruik van RTD
In het volgende voorbeeld wordt de RTD-functie gebruikt om informatie op te halen van een server die continu gegevens verstrekt over de resultaten van verschillende hardloopwedstrijden. De server bestaat uit een DLL-bibliotheek (Dynamic Link Library) met de naam RaceReport.dll die is geïnstalleerd op de computer van de gebruiker en die via een Setup-procedure als invoegtoepassing wordt geregistreerd. De RTD-functie zou er in dat geval als volgt uit kunnen zien:
=RTD("MijnRTDServerProdID";"MijnServer";"RaceNum";"DeelnemerID";"StatType")
waarbij de onderwerpen RaceNum, DeelnemerID en StatType de desbetreffende race identificeren, de hardloper waarvoor de gegevens worden opgevraagd en het type gegevens voor een bepaald gebruik van de functie.
De gebruiker kan nu een cel selecteren en daarin de volgende formule typen:
=RTD("ExcelRTD.RaceRapport";"";"2";"16";"Tijd")
om de nu verstreken tijd voor deelnemer 16 in race nummer 2 weer te geven. Het aantal onderwerpen en de aard van de gekoppelde gegevens wordt bepaald door de ontwikkelaar van de COM-server. Deze server zou bijvoorbeeld andere gegevens verstrekken als u de volgende RTD-functie gebruikt:
=RTD("ExcelRTD.RaceRapport";"";"3";"25";"Positie")
In dat geval wordt de positie van deelnemer 25 in race nummer 3 aangegeven.
Op deze manier kan dezelfde functie op verschillende plaatsen in de werkmap op verschillende manieren worden gebruikt om verschillende gegevens van dezelfde server op te halen. Alle gegevens worden automatisch bijgewerkt.
Gebruik vereenvoudigen via wrappers
De RTD-functie kan worden gebruikt binnen door de gebruiker gedefinieerde functies (UDF's) in Microsoft Visual Basic for Applications. Deze worden dan wrappers voor de RTD-functie. Dit kan handig zijn als u gebruikers wilt afschermen van de details van de RTD-servernaam en ProgID, zodat ze zich kunnen richten op de gegevens die voor hen belangrijk zijn.
In het bovenstaande scenario zouden er bijvoorbeeld twee functies ter beschikking van de gebruiker kunnen worden gesteld: TijdOphalen(DeelnemerID) en PositieOphalen (DeelnemerID). Bij deze functies wordt ervan uitgegaan dat de gebruiker altijd te maken heeft met dezelfde server en hetzelfde racenummer. De gebruiker hoeft dan alleen maar de id van een deelnemer op te geven om gegevens over de tijd en de positie van die deelnemer op te halen.
Berekening
Omdat RTD de gegevens berekent op ogenblikken dat Excel inactief is, blijft de functie gegevens ontvangen als de modus voor handmatige berekening in Excel is geactiveerd. In dat geval worden de nieuwe gegevens opgeslagen in de cache en worden de huidige gegevens gebruikt als een handmatige berekening wordt uitgevoerd.
Beveiliging
De beveiligingsfuncties van Excel behandelen de RTD-server als een macro. Dit betekent dat als de beveiliging is ingesteld op
Hoog, de RTD-server alleen beschikbaar is als deze voorzien is van een digitale ondertekening en wordt vertrouwd. In de cellen die afhankelijk zijn van de gegevens van deze server, wordt het volgende weergegeven:
Als de beveiliging is ingesteld op
Gemiddeld, verschijnt het foutbericht
bestandsnaambevat macro's.
Macro's bevatten mogelijk virussen. Het is altijd veiliger om macro's uit te schakelen, maar als de macro's origineel zijn, kan er enige functionaliteit verloren gaan.
als u een werkmap opent (
bestandsnaam) die gebruikmaakt van de RTD-functie.