Я работаю над простым кодом VBA.У меня есть рабочая книга xlsm с несколькими листами ...
Я хотел бы экспортировать все листы в формате csv каждый час.
Это то, что у меня уже есть (но оно не сохраняется ...)
Sub ExportSheetsToCSV()
Application.DisplayAlerts = False
Dim xWs As Worksheet
Dim xcsvFile As String
For Each xWs In Application.ActiveWorkbook.Worksheets
xWs.Copy
xcsvFile = CurDir & "\" & xWs.Name & ".csv"
Application.ActiveWorkbook.SaveAs Filename:=xcsvFile, _
FileFormat:=xlCSV, CreateBackup:=False
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next
Application.DisplayAlerts = True
Call RefreshDataEachHour
End Sub
В этом модуле workbook:
Public Sub RefreshDataEachHour()
Application.OnTime Now + TimeValue("01:00:00"), "ExportSheetsToCSV"
End Sub
Когда я удаляю эту строку: Приложение.DisplayAlerts = False экспорт работает отлично, но не каждый час, и я должен проверить «да» в сообщении с подсказкой о формате файла (потеря формул)
Я бы хотел сделать это ...