Extraindo RTD (dados em tempo real) do arquivo do Excel

1

Eu tenho um arquivo do Excel 2010 que contém células de atualização automática com RTD. Exemplo de célula:

=RTD("xxx";"yyy")

Eu preciso extrair (em um arquivo .txt) os valores dessas células, a cada X minutos. Meu arquivo .txt DEVE conter o valor atualizado.

Eu tentei com uma macro. Essa macro exporta a cada X minutos um arquivo txt do arquivo do Excel. O problema é que, quando a macro está em execução, as células não são atualizadas: os valores permanecem os mesmos antes que a macro fosse lançada. Parece que a macro proíbe a atualização.

Como posso fazer?

Obrigado.

    
por Mat0930912 24.02.2011 / 14:51

2 respostas

1

Primeiro, vá para o menu File do Excel e clique em Options . Em Formulas > Calculation Options > Workbook Calculation , selecione Manual . Agora você pode adicionar um comando simples ao seu código VBA para atualizar suas células. Este comando é Application.Calculate (ou apenas Calculate ). Espero que ajude.

    
por 24.02.2011 / 16:27
1

Da sua pergunta, eu acho que você tem algum tipo de loop de temporização em sua macro que aguarda o tempo de atraso antes de fazer o log, mas a macro continua a rodar.

Se isso ocorrer, um método melhor é usar Application.OnTime , o que permite programar uma macro para ser executada em um horário específico. no controle interino é retornado para excel normalmente

Para começar, aqui está um resumo

Sub YourSub()
    <do your logging stuff>

    if not <terminal condition> then
        Application.OnTime Now + TimeValue("XX:XX:XX"), "YourSub" 
    end if
end sub
    
por 24.02.2011 / 19:38