Set objExcel = CreateObject("Excel.Application")
Set objWorkbook = objExcel.Workbooks.Add
objWorkbook.Sheets.Add
Set objSummarySheet = objWorkbook.Worksheets(1)
objSummarySheet.Name = "Summary"
'==================1 вкладка==============================
objExcel.Sheets("Summary").Select
'заливает цветом - диапазон
objExcel.Range(objExcel.Cells(1, 1), objExcel.Cells(1, 19)).Interior.ColorIndex = 27
'выравнивание текста шапки
With objExcel.Range(objExcel.Cells(1, 1), objExcel.Cells(1, 19))
.Font.Bold = True
.Font.Italic = True
.HorizontalAlignment = 3
.VerticalAlignment = 2
.WrapText = True
End With
objExcel.Cells(1, 1).Value = " ID"objExcel.Cells(1, 2).Value = " Услуга"
objExcel.Cells(1, 3).Value = " Группа"
objExcel.Cells(1, 4).Value = " Тип_запроса"
objExcel.Cells(1, 5).Value = " Статус_(Alias)"
objExcel.Cells(1, 6).Value = " Способ_обращения_(полный)"
objExcel.Cells(1, 7).Value = " Инициатор"
objExcel.Cells(1, .Value = " Поданные от одного инициатора более 3-х раз"
objExcel.Cells(1, 9).Value = " Время_регистрации_(создания)"
objExcel.Cells(1, 10).Value = " Время_принятия_в_работу"
objExcel.Cells(1, 11).Value = " Время_выполнения_(дата)"
objExcel.Cells(1, 12).Value = " Время_закрытия"
objExcel.Cells(1, 13).Value = " Код_выполнения"
objExcel.Cells(1, 14).Value = " Краткое_описание"
objExcel.Cells(1, 15).Value = " Описание"
objExcel.Cells(1, 16).Value = " Решение"
objExcel.Cells(1, 17).Value = " Ответственный"
objExcel.Cells(1, 18).Value = " Комментарии"
objExcel.Cells(1, 19).Value = " Не заполненный Протокол"
Set objRset = Statistics.Database.CreateRecordset("SELECT * FROM request", 3)
i = 1
Do While Not objRset.EOF
i = i + 1
objExcel.Cells(i, 1).Value = objRset.Field("ID_(String)")
objExcel.Cells(i, 2).Value = objRset.Field("Услуга")
objExcel.Cells(i, 3).Value = objRset.Field("Группа")
objExcel.Cells(i, 4).Value = objRset.Field("Тип_запроса")
objExcel.Cells(i, 5).Value = objRset.Field("Статус_(Alias)")
objExcel.Cells(i, 6).Value = objRset.Field("Способ_обращения_(полный)")
objExcel.Cells(i, 7).Value = objRset.Field("Инициатор")
objExcel.Cells(i, .FormulaR1C1 = "=COUNTIF(C[-1], RC[-1])>3"
objExcel.Cells(i, 9).Value = objRset.Field("Время_регистрации_(создания)")
objExcel.Cells(i, 10).Value = objRset.Field("Время_принятия_в_работу")
objExcel.Cells(i, 11).Value = objRset.Field("Время_выполнения_(дата)")
objExcel.Cells(i, 12).Value = objRset.Field("Время_закрытия")
objExcel.Cells(i, 13).Value = objRset.Field("Код_выполнения")
objExcel.Cells(i, 14).Value = objRset.Field("Краткое_описание")
objExcel.Cells(i, 15).Value = objRset.Field("Описание")
objExcel.Cells(i, 16).Value = objRset.Field("Решение")
objExcel.Cells(i, 17).Value = objRset.Field("Ответственный")
objExcel.Cells(i, 18).Value = objRset.Field("Комментарии")
objExcel.Cells(i, 19).FormulaR1C1 = "=IF(TODAY()-7>--MID(RC [-1], FIND(CHAR(1), SUBSTITUTE(RC[-1], ""["", CHAR(1), LEN(RC [-1]) -LEN(SUBSTITUTE (RC[-1], ""["", """")))) + 5, 10), ""Comment is not updated"", ""Everything is OK"")"
objRset.MoveNext
Loop
objRset.Close
' формирование ширины ячеек
objExcel.Range(objExcel.Cells(1, 1), objExcel.Cells(1, 1)).ColumnWidth = 11
objExcel.Range(objExcel.Cells(1, 2), objExcel.Cells(1, 2)).ColumnWidth = 20
objExcel.Range(objExcel.Cells(1, 3), objExcel.Cells(1, 3)).ColumnWidth = 20
objExcel.Range(objExcel.Cells(1, 4), objExcel.Cells(1, 4)).ColumnWidth = 20
objExcel.Range(objExcel.Cells(1, 5), objExcel.Cells(1, 5)).ColumnWidth = 15
objExcel.Range(objExcel.Cells(1, 6), objExcel.Cells(1, 6)).ColumnWidth = 21
objExcel.Range(objExcel.Cells(1, 7), objExcel.Cells(1, 7)).ColumnWidth = 17
objExcel.Range(objExcel.Cells(1, , objExcel.Cells(1, ).ColumnWidth = 20
objExcel.Range(objExcel.Cells(1, 9), objExcel.Cells(1, 9)).ColumnWidth = 45
objExcel.Range(objExcel.Cells(1, 10), objExcel.Cells(1, 10)).ColumnWidth = 50
objExcel.Range(objExcel.Cells(1, 11), objExcel.Cells(1, 11)).ColumnWidth = 50
objExcel.Range(objExcel.Cells(1, 12), objExcel.Cells(1, 12)).ColumnWidth = 20
objExcel.Range(objExcel.Cells(1, 13), objExcel.Cells(1, 13)).ColumnWidth = 12
objExcel.Range(objExcel.Cells(1, 14), objExcel.Cells(1, 14)).ColumnWidth = 50
objExcel.Range(objExcel.Cells(1, 15), objExcel.Cells(1, 15)).ColumnWidth = 20
objExcel.Range(objExcel.Cells(1, 16), objExcel.Cells(1, 16)).ColumnWidth = 45
objExcel.Range(objExcel.Cells(1, 17), objExcel.Cells(1, 17)).ColumnWidth = 50
objExcel.Range(objExcel.Cells(1, 18), objExcel.Cells(1, 18)).ColumnWidth = 50
objExcel.Range(objExcel.Cells(1, 19), objExcel.Cells(1, 19)).ColumnWidth = 50
sDate = CStr(Year(Now())) + "-" + CStr(Month(Now())) + "-" + CStr(Day(Now()))
objExcel.DisplayAlerts = False
objWorkbook.SaveAs("C:\Reports\Отчет Инициатор -" + sDate + ".xls")
objWorkbook.Close
objExcel.DisplayAlerts = True
objExcel.Quit
при правильной формуле может она давать ошибку?в Эксель данная таблица выводит все правильно,ЕСЛИ(СЕГОДНЯ()-7>--ПСТР(P2;НАЙТИ(СИМВОЛ(1);ПОДСТАВИТЬ(P2;"[";СИМВОЛ(1);ДЛСТР(P2)-ДЛСТР(ПОДСТАВИТЬ(P2;"[";""))))+5;10);"Комментарий не обновлён";"Всё ОК"),
но в VB "=IF(TODAY()-7>--MID(RC [-1], FIND(CHAR(1), SUBSTITUTE(RC[-1], ""["", CHAR(1), LEN(RC [-1]) -LEN(SUBSTITUTE (RC[-1], ""["", """")))) + 5, 10), ""Comment is not updated"", ""Everything is OK"")" выводит ошибку