Как я могу заставить Excel программно записывать в CSV?

#vba #excel

#vba #excel

Вопрос:

На данный момент моя электронная таблица считывает финансовые данные. Я хотел бы программно сбрасывать это в CSV каждую секунду. Как я могу сделать это в VBA?

Ответ №1:

Что-то вроде этого должно сработать:

 Sub SetTimeout()
    Application.OnTime Now   TimeValue("00:00:30"), "SaveAsCSV"
End Sub

Sub SaveAsCSV()
    Calculate
    ActiveWorkbook.SaveAs Filename:="book1.csv", FileFormat:=xlCSV, CreateBackup:=False
    Call SetTimeout
End Sub
  

Просто вызывайте SetTimeout() всякий раз, когда вы хотите начать сохранение, и с этого момента он будет делать это каждые 30 секунд (отсюда Now TimeValue("00:00:30") часть)