Jak skonfigurować funkcję RTD i korzystać z niej w programie Excel

Podsumowanie

Uwaga

Wydajność funkcji RealTimeData (RTD) została znacznie zwiększona w programie Excel M365 w wersji 2002 lub nowszej. Aby uzyskać więcej informacji, zobacz Ulepszenia wydajności i limitów programu Excel.

W tym artykule opisano funkcje zapewniane przez funkcję RealTimeData (RTD). Program Microsoft Office Excel udostępnia funkcję arkusza RealTimeData (RTD). Ta funkcja umożliwia wywoływanie serwera automatyzacji modelu obiektów składników (COM) w celu pobierania danych w czasie rzeczywistym.

Jeśli musisz utworzyć skoroszyt zawierający dane, które są aktualizowane w czasie rzeczywistym, na przykład dane finansowe lub dane naukowe, możesz teraz użyć funkcji arkusza RTD. We wcześniejszych wersjach programu Excel do tego celu jest używana dynamiczna wymiana danych (DDE). Funkcja RTD jest oparta na technologii COM i zapewnia korzyści w zakresie niezawodności, niezawodności i wygody. Rtd zależy od dostępności serwera RTD, aby dane w czasie rzeczywistym były dostępne dla programu Excel. Aby uzyskać więcej informacji na temat tworzenia serwera RTD, zobacz sekcję "Odwołania".

Funkcja RTD pobiera dane z serwera RTD do użycia w skoroszycie. Wynik funkcji jest aktualizowany za każdym razem, gdy nowe dane staną się dostępne z serwera, a skoroszyt może je zaakceptować. Serwer czeka, aż program Excel będzie bezczynny przed zaktualizowaniem. Zwalnia to dewelopera z konieczności określenia, czy program Excel jest dostępny do akceptowania aktualizacji. Funkcja RTD różni się w tym względzie od innych funkcji, ponieważ inne funkcje są aktualizowane tylko wtedy, gdy arkusz zostanie ponownie obliczony.

Chociaż funkcja RTD udostępnia link do danych na serwerze, nie jest to ten sam typ łącza co odwołania do komórek w innych arkuszach lub skoroszytach. Jeśli na przykład używasz funkcji RTD w skoroszycie, po otwarciu skoroszytu nie zostanie wyświetlony komunikat o uruchamianiu linków ani nie będzie można zarządzać stanem funkcji RTD za pośrednictwem okna dialogowego Edytowanie łączy.

Składni

Funkcja RTD używa następującej składni

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

gdzie argumenty funkcji są następujące:

  • RealTimeServerProgID

    Ciąg reprezentujący identyfikator programu serwera RTD zainstalowanego w systemie lokalnym. Zazwyczaj jest to dodatek COM zarejestrowany w procedurze konfiguracji lub za pomocą narzędzia RegSvr32. Argument RealTimeServerProgID jest wymagany.

  • Nazwa_serwera

    Ciąg reprezentujący nazwę serwera, na którym ma zostać uruchomiony serwer RTD. Jeśli serwer RTD jest uruchamiany lokalnie, nazwa serwera powinna być pustym ciągiem ("") lub pominięta.

  • Topic1, [Topic2], ...

    Ciągi określające pobierane dane. Możesz użyć od jednego do 28 tematów, chociaż wymagany jest tylko jeden temat.

Korzystanie z usługi RTD

Jako przykład funkcji RTD rozważ pobranie informacji z serwera, który dostarcza ciągłe dane dla biegaczy w kilku równoczesnych wyścigach. Załóżmy, że serwer jest dostarczany jako biblioteka dynamicznego łącza (DLL) o nazwie RaceReport.dll, że jest zainstalowany na komputerze użytkownika i że jest zarejestrowany jako dodatek COM przez własny proces konfiguracji. Ogólna forma funkcji RTD używanej z tym serwerem może wyglądać następująco

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

gdzie tematy RaceNum, RunnerID i StatType określają wyścig zainteresowania, biegacza, którego dane są wymagane, oraz typ danych dla określonego użycia funkcji, odpowiednio.

W tym miejscu użytkownik może wybrać komórkę i wpisać w niej następującą formułę

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

aby zobaczyć bieżący czas dla biegacza numer 16 w wyścigu numer 2. Liczba tematów i charakter skojarzonych danych są określane przez dewelopera serwera COM. Na przykład serwer raportowania wyścigu może dostarczać różne dane, jeśli używasz następującej funkcji RTD:

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

W tym przypadku zwrócone dane wskazują aktualną pozycję biegacza numer 25 w wyścigu numer 3.

W ten sposób ta sama funkcja może być używana inaczej w całym skoroszycie do pobierania różnych danych z tego samego serwera, z których wszystkie są aktualizowane automatycznie.

Otoki upraszczające korzystanie

Funkcji RTD można używać wewnątrz funkcji zdefiniowanych przez użytkownika (UDF) w usłudze Microsoft Visual Basic for Applications. Następnie stają się otokami dla funkcji RTD. Takie podejście może być przydatne w ochronie użytkowników przed szczegółami nazwy serwera RTD i identyfikatora ProgID oraz w umożliwieniu im skoncentrowania się tylko na danych, które są dla nich ważne.

Na przykład w poprzednim scenariuszu użytkownik może mieć dwie funkcje: GetTime (RunnerID) i GetPosition(RunnerID). Te funkcje zakładają, że użytkownik zawsze ma do czynienia z tym samym serwerem i numerem wyścigu. W związku z tym użytkownik musi tylko określić identyfikator modułu uruchamiającego, aby otrzymywać bieżące dane odpowiednio o czasie i pozycji modułu uruchamiającego.

Obliczeń

Ponieważ funkcja RTD aktualizuje dane, gdy program Excel jest bezczynny, nadal otrzymuje informacje, jeśli program Excel jest w trybie ręcznego obliczania. W takim przypadku nowe dane są buforowane, a bieżące wartości są używane podczas wykonywania obliczeń ręcznych.

Bezpieczeństwo

Serwery RTD powinny być podpisane cyfrowo. Jeśli serwer RTD nie jest podpisany cyfrowo, serwer może się nie załadować, a w komórkach odwołujących się do serwera RTD zostanie wyświetlony #N/A .

W przypadku programu Microsoft Office Excel 2007 możesz przejrzeć ustawienia zabezpieczeń przy użyciu Centrum zaufania. Dostęp do tego można uzyskać za pomocą karty Centrum zaufania w oknie dialogowym Opcje programu Excel .

W przypadku programu Microsoft Office Excel 2003 i Microsoft Excel 2002 zachowanie obciążenia można zmienić, dostosowując ustawienia zabezpieczeń makr w programie Excel.

Informacje

Aby uzyskać więcej informacji na temat zabezpieczeń rtd i programu Excel, zobacz How to set up and use the RTD function in Excel (Jak skonfigurować funkcję RTD i korzystać z niej w programie Excel).

Aby uzyskać więcej informacji na temat tworzenia serwera RTD, zobacz How to create a RealTimeData server for Excel (Jak utworzyć serwer RealTimeData dla programu Excel).