Como configurar e usar a função RTD no Excel

Resumo

Observação

O desempenho da função RealTimeData (RTD) foi muito aprimorado no Excel M365 versão 2002 ou posterior. Para obter mais informações, consulte Aprimoramentos de desempenho e limites do Excel.

Este artigo descreve a funcionalidade que a função RealTimeData (RTD) fornece. O Microsoft Office Excel fornece uma função de planilha, RealTimeData (RTD). Essa função permite que você chame um servidor de automação COM (Component Object Model) para recuperar dados em tempo real.

Quando você precisa criar uma pasta de trabalho que inclua dados atualizados em tempo real, por exemplo, dados financeiros ou dados científicos, agora você pode usar a função de planilha RTD. Em versões anteriores do Excel, o DDE (Dynamic Data Exchange) é usado para essa finalidade. A função RTD é baseada na tecnologia COM e oferece vantagens em robustez, confiabilidade e conveniência. O RTD depende da disponibilidade de um servidor RTD para disponibilizar os dados em tempo real para o Excel. Para obter mais informações sobre como criar um servidor RTD, consulte a seção "Referências".

A função RTD recupera dados de um servidor RTD para uso na pasta de trabalho. O resultado da função é atualizado sempre que novos dados ficam disponíveis no servidor e a pasta de trabalho pode aceitá-lo. O servidor aguarda até que o Excel esteja ocioso antes de atualizar. Isso alivia o desenvolvedor de ter que determinar se o Excel está disponível para aceitar atualizações. A função RTD difere de outras funções nesse sentido porque outras funções são atualizadas somente quando a planilha é recalculada.

Embora a função RTD forneça um link para dados em um servidor, ela não é o mesmo tipo de link que referências a células em outras planilhas ou pastas de trabalho. Por exemplo, se você usar a função RTD em uma pasta de trabalho, não receberá a mensagem de inicialização Links ao abrir a pasta de trabalho, nem pode gerenciar a status de uma função RTD por meio da caixa de diálogo Editar Links.

Sintaxe

A função RTD usa a sintaxe a seguir

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

onde os argumentos de função são os seguintes:

  • RealTimeServerProgID

    Uma cadeia de caracteres que representa a ID do programa do servidor RTD instalado no sistema local. Normalmente, esse é um suplemento COM registrado por um procedimento de configuração ou usando RegSvr32. RealTimeServerProgID é um argumento necessário.

  • ServerName

    Uma cadeia de caracteres que representa o nome do servidor no qual o servidor RTD deve ser executado. Se o servidor RTD for executado localmente, o ServerName deverá ser uma cadeia de caracteres vazia ("") ou omitida.

  • Tópico1, [Tópico2], ...

    Cadeias de caracteres que determinam os dados que estão sendo recuperados. Você pode usar de um a 28 tópicos, embora apenas um tópico seja necessário.

Usando RTD

Como exemplo da função RTD, considere recuperar informações de um servidor que fornece dados contínuos para corredores em várias corridas simultâneas. Suponha que o servidor seja fornecido como uma DLL (Biblioteca de Link Dinâmico) chamada RaceReport.dll, que ele esteja instalado no computador do usuário e que ele seja registrado como um suplemento COM por seu próprio processo de instalação. A forma geral da função RTD, conforme usado com este servidor, pode ser a seguinte

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

em que os tópicos RaceNum, RunnerID e StatType determinam a corrida de interesse, o corredor cujos dados são necessários e o tipo de dados para um uso específico da função, respectivamente.

Aqui, o usuário pode selecionar uma célula e digitar a fórmula a seguir nela

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

para ver o tempo decorrido atual para o corredor número 16 na corrida número 2. O número de tópicos e a natureza dos dados associados são determinados pelo desenvolvedor do servidor COM. Por exemplo, o servidor de relatórios de corrida pode fornecer dados diferentes se você usar a seguinte função RTD:

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

Nesse caso, os dados retornados indicam a posição atual do corredor número 25 na corrida número 3.

Dessa forma, a mesma função pode ser usada de forma diferente em toda a pasta de trabalho para recuperar dados diferentes do mesmo servidor, todos atualizados automaticamente.

Wrappers para simplificar o uso

A função RTD pode ser usada dentro de UDFs (funções definidas pelo usuário) no Microsoft Visual Basic for Applications. Em seguida, eles se tornam wrappers para a função RTD. Essa abordagem pode ser útil para proteger os usuários dos detalhes do nome do servidor RTD e do ProgID e em permitir que eles se concentrem apenas nos dados importantes para eles.

Por exemplo, no cenário anterior, o usuário pode receber duas funções: GetTime(RunnerID) e GetPosition(RunnerID). Essas funções supõem que o usuário está sempre lidando com o mesmo servidor e número de corrida. Portanto, o usuário só precisa especificar a ID de um corredor para receber dados atuais sobre o tempo e a posição decorridos do corredor, respectivamente.

Cálculo

Como o RTD atualiza dados quando o Excel está ocioso, ele continua a receber informações se o Excel estiver no modo de cálculo manual. Nesse caso, os novos dados são armazenados em cache e os valores atuais são usados quando um cálculo manual é executado.

Segurança

Os servidores RTD devem ser assinados digitalmente. Se um servidor RTD não estiver assinado digitalmente, o servidor poderá não carregar e um #N/A será exibido nas células referenciando o servidor RTD.

Para o Microsoft Office Excel 2007, você pode examinar as configurações de segurança usando a Central de Confiança. Isso pode ser acessado pela guia Central de Confiança na caixa de diálogo Opções do Excel .

Para o Microsoft Office Excel 2003 e no Microsoft Excel 2002, o comportamento de carga pode ser alterado ajustando as configurações de segurança de macro no Excel.

Referências

Para obter mais informações sobre a segurança do RTD e do Excel, consulte Como configurar e usar a função RTD no Excel.

Para obter mais informações sobre como criar um servidor RTD, consulte Como criar um servidor RealTimeData para Excel.