Извлечение RTD (данных в реальном времени) из файла Excel

У меня есть файл Excel 2010, содержащий автообновление ячеек с RTD. Пример ячейки:

=RTD("xxx";"yyy")

Мне нужно извлечь (в файл.txt) значения этих ячеек, каждые X минут. Мой файл.txt ДОЛЖЕН содержать обновленное значение.

Я попробовал с макросом. Этот макрос экспортирует каждые X минут текстовый файл из файла Excel. Проблема в том, что при запуске макроса ячейки не обновляются: значения остаются теми же, что и до запуска макроса. Похоже, макрос запрещает обновление.

Как я могу сделать?

Спасибо.

2 ответа

Сначала перейдите в Excel File меню и нажмите на Options, Под Formulas > Calculation Options > Workbook Calculation, Выбрать Manual, Теперь вы можете добавить простую команду в код VBA для обновления ваших ячеек. Эта команда Application.Calculate (или просто Calculate). Надеюсь, это поможет.

От вашего вопроса, я думаю, у вас есть какой-то цикл синхронизации в вашем макросе, который ждет времени задержки перед регистрацией, но макрос продолжает работать.

Если это так, то лучше использовать метод Application.OnTime которые позволяют планировать запуск макроса в определенное время. в промежуточный контроль возвращается, чтобы преуспеть нормально

Для начала вот схема

Sub YourSub()
    <do your logging stuff>

    if not <terminal condition> then
        Application.OnTime Now + TimeValue("XX:XX:XX"), "YourSub" 
    end if
end sub
Другие вопросы по тегам