Jak nastavit a používat funkci RTD v Excelu

Souhrn

Poznámka

Výkon funkce RealTimeData (RTD) byl výrazně vylepšen v Excelu M365 verze 2002 nebo novější. Další informace najdete v článku Vylepšení výkonu a limitů Excelu.

Tento článek popisuje funkce, které poskytuje funkce RealTimeData (RTD). Microsoft Office Excel poskytuje funkci listu RealTimeData (RTD). Tato funkce umožňuje volat automatizační server modelu COM (Component Object Model) za účelem načtení dat v reálném čase.

Pokud potřebujete vytvořit sešit, který obsahuje data aktualizovaná v reálném čase, například finanční data nebo vědecká data, můžete teď použít funkci listu RTD. V dřívějších verzích Excelu se pro tento účel používá dynamická výměna dat (DDE). Funkce RTD je založená na technologii MODELU COM a poskytuje výhody v oblasti robustnosti, spolehlivosti a pohodlí. RtD závisí na dostupnosti serveru RTD, aby data v reálném čase byla k dispozici excelu. Další informace o tom, jak vytvořit server RTD, najdete v části Odkazy.

Funkce RTD načte data ze serveru RTD pro použití v sešitu. Výsledek funkce se aktualizuje vždy, když budou na serveru k dispozici nová data a sešit je může přijmout. Server před aktualizací počká, až bude Excel nečinný. Tím se vývojáři zbavují toho, že bude muset určit, jestli je Excel k dispozici pro přijímání aktualizací. Funkce RTD se v tomto ohledu liší od ostatních funkcí, protože ostatní funkce se aktualizují pouze při přepočtu listu.

Přestože funkce RTD poskytuje odkaz na data na serveru, nejedná se o stejný typ propojení jako odkazy na buňky v jiných listech nebo sešitech. Pokud například v sešitu používáte funkci RTD, nezobrazí se při otevření sešitu úvodní zpráva Odkazy ani nelze spravovat stav funkce RTD prostřednictvím dialogového okna Upravit odkazy.

Syntaxe

Funkce RTD používá následující syntaxi.

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

kde argumenty funkce jsou následující:

  • RealTimeServerProgID

    Řetězec, který představuje ID programu serveru RTD nainstalovaného v místním systému. Obvykle se jedná o doplněk modelu COM, který je registrován pomocí instalačního postupu nebo pomocí regSvr32. RealTimeServerProgID je povinný argument.

  • Název_serveru

    Řetězec, který představuje název serveru, na kterém se má spustit server RTD. Pokud je server RTD spuštěný místně, serverName by měl být prázdný řetězec ("") nebo by měl být vynechán.

  • Téma1, [Téma2], ...

    Řetězce, které určují načítaná data. Můžete použít jedno až 28 témat, ale vyžaduje se pouze jedno téma.

Použití funkce RTD

Jako příklad funkce RTD zvažte načtení informací ze serveru, který poskytuje průběžná data pro běžce v několika souběžných závodech. Předpokládejme, že server je poskytován jako dynamická knihovna (DLL) s názvem RaceReport.dll, že je nainstalován v počítači uživatele a že je registrován jako doplněk modelu COM vlastním procesem instalace. Obecná forma funkce RTD používaná s tímto serverem může být následující:

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

kde témata RaceNum, RunnerID a StatType určují rasu zájmu, běžec, jehož data jsou požadována, a typ dat pro konkrétní použití funkce, v uvedeném pořadí.

Tady může uživatel vybrat buňku a zadat do ní následující vzorec.

=RTD("ExcelRTD.RaceReport";"";"2";"16";"Čas")

k zobrazení aktuálního uplynulého času běžce s číslem 16 v závodu s číslem 2. Počet témat a povahu přidružených dat určuje vývojář serveru COM. Server pro generování sestav ras může například dodávat různá data, pokud použijete následující funkci RTD:

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

V tomto případě vrácené údaje označují aktuální pozici běžce číslo 25 v závodu číslo 3.

Tímto způsobem lze stejnou funkci použít různě v celém sešitu k načtení různých dat ze stejného serveru, přičemž všechna se aktualizují automaticky.

Obálky pro zjednodušení použití

Funkci RTD lze použít uvnitř uživatelem definovaných funkcí (UDF) v jazyce Microsoft Visual Basic for Applications. Ty se pak stanou obálky funkce RTD. Tento přístup může být užitečný při ochraně uživatelů před podrobnostmi o názvu serveru rtd a ProgID a k tomu, aby se mohli soustředit pouze na data, která jsou pro ně důležitá.

Například v předchozím scénáři můžou být uživateli poskytnuty dvě funkce: GetTime(RunnerID) a GetPosition(RunnerID). Tyto funkce předpokládají, že uživatel vždy pracuje se stejným serverem a číslem rasy. Proto uživatel musí zadat pouze ID běžce, aby získal aktuální data o uplynulé době a pozici běžce.

Výpočet

Vzhledem k tomu, že rtD aktualizuje data, když je Excel nečinný, bude dál přijímat informace, pokud je Excel v režimu ručního výpočtu. V takovém případě se nová data ukládají do mezipaměti a při ručním výpočtu se použijí aktuální hodnoty.

Zabezpečení

Servery RTD by měly být digitálně podepsané. Pokud server RTD není digitálně podepsaný, server se nemusí načíst a v buňkách odkazujících na server RTD se zobrazí #N/A .

V aplikaci Microsoft Office Excel 2007 můžete zkontrolovat nastavení zabezpečení pomocí Centra zabezpečení. Můžete k tomu získat přístup z karty Centrum zabezpečení v dialogovém okně Možnosti aplikace Excel .

V aplikaci Microsoft Office Excel 2003 a Microsoft Excel 2002 lze chování načítání změnit úpravou nastavení zabezpečení maker v aplikaci Excel.

Odkazy

Další informace o zabezpečení RTD a Excelu najdete v článku Nastavení a používání funkce RTD v Excelu.

Další informace o vytvoření serveru RTD najdete v tématu Vytvoření serveru RealTimeData pro Excel.