Извлечение 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